在TSQL中是否有办法查询日期时间列的值为"现在减去(一定的时间)"的行来选择时间范围?
例如在MySQL中我可以构建这个谓词,如:
(EndTime BETWEEN NOW() - INTERVAL 2 DAY AND NOW())
如何在SQL Server中的TSQL中完成?
小智 16
您可以使用dateadd函数,例如
where endtime between dateadd(day, -2, getdate()) and getdate()
由于该列endtime不是函数参数,因此查询优化器可以使用可能在其上定义的任何索引(sargable的定义).