【发布时间】:2011-07-25 13:27:18
【问题描述】:
在 TSQL 中是否有一种方法可以查询日期时间列的值为“现在减去(特定时间量)”的行以选择时间范围?
例如在 MySQL 中,我可以构建这样的谓词:
(EndTime BETWEEN NOW() - INTERVAL 2 DAY AND NOW())
如何在 SQL Server 的 TSQL 中做到这一点?
【问题讨论】:
标签: sql-server tsql
在 TSQL 中是否有一种方法可以查询日期时间列的值为“现在减去(特定时间量)”的行以选择时间范围?
例如在 MySQL 中,我可以构建这样的谓词:
(EndTime BETWEEN NOW() - INTERVAL 2 DAY AND NOW())
如何在 SQL Server 的 TSQL 中做到这一点?
【问题讨论】:
标签: sql-server tsql
【讨论】:
您可以使用datediff 函数。
例如,要查找最近五分钟内创建的内容,您可以执行
select *
from Table t
where datediff(minute, t.CreationDate, getutcdate()) <= 5
【讨论】:
datediff 不是sargable。 Bobby D's answer 更合适。