Sql server 2008 r2 SQL Server 2008-将时间列与当前日期时间进行比较

Sql server 2008 r2 SQL Server 2008-将时间列与当前日期时间进行比较,sql-server-2008-r2,datetime-comparison,Sql Server 2008 R2,Datetime Comparison,我已经阅读了相关帖子,但尚未找到答案,因此,如果可以的话: 我在表中创建了一列,如下所示: [到达]时间不为空 执行这样的查询最有效的方法是什么: 从myTable中选择*,其中“到达时间为1小时后” DATEDIFF(小时,GETDATE(),到达) 给了我一个非常大的值,可能是因为1901,0,0的到达日期部分。仍然在努力理解这一点,所以如果有人能给我一个快速的答案,那就太好了 同样,性能至关重要 谢谢。我可能会做一些像 select >>select list<<

我已经阅读了相关帖子,但尚未找到答案,因此,如果可以的话:

我在表中创建了一列,如下所示:

[到达]时间不为空

执行这样的查询最有效的方法是什么:

从myTable中选择*,其中“到达时间为1小时后”

DATEDIFF(小时,GETDATE(),到达)

给了我一个非常大的值,可能是因为1901,0,0的到达日期部分。仍然在努力理解这一点,所以如果有人能给我一个快速的答案,那就太好了

同样,性能至关重要


谢谢。

我可能会做一些像

select >>select list<<
from table
where datediff(minute, getdate(), [Arrival]) < 60

选择>>选择列表>选择列表谢谢。datepart是我缺少的元素。
select >>select list<<
from table
where datediff(hour, getdate(), [Arrival]) < 1
select ____
from [table]
where (((datepart(hour, getdate()) = datepart(hour, [Arrival])) AND (datepart(minute, [Arrival]) - datepart(minute, getdate()) < 60)