首页 > 解决方案 > 选择从当前时间起 300 分钟内返回数据的语句

问题描述

我有一个简单的表,其中包含一行以“日期时间”格式的航班起飞时间,我需要创建一个选择语句,该语句返回从当前时间开始的接下来 300 分钟内起飞的所有航班时间。

我使用了这个陈述,它也向我展示了过去的时间以及接下来 300 分钟的时间。

SELECT [Departure date]
FROM Tickets                                
WHERE datepart(day, [Departure date]) >= datepart(Day, getdate())     
AND datepart(day, [Departure date]) <= datepart(Day, getdate()+(300/24/24)) 

标签: sqlsql-servertsql

解决方案


根据 Jeff 的评论,您想创建一个从现在到 +300 分钟的窗口,您可以按以下方式操作

-- >= now
WHERE [Departure date] >= GETDATE()
-- < 300 minutes (you might use <= depending on your exact use case
AND [Departure date] < DATEADD(minute, 300, GETDATE())

推荐阅读