某个客户在过去3小时内获取所有记录的最佳方式是什么?我不太确定如何设置这个sql?
模式
CustID varchar AddressID varchar DateCreated日期时间
答案 0 :(得分:5)
SELECT C.*
FROM Customer C
WHERE C.DateCreated > DATEADD(hour, -3, GetDate())
修改:"past 3 hours by a certain customer"
SELECT C.*
FROM Customer C
WHERE C.CustID = @CustID
AND C.DateCreated > DATEADD(hour, -3, GetDate())
答案 1 :(得分:4)
您可以使用的一项功能是DATEADD
。下面的T-SQL将从MyTable获取所有行,其中MyColumn的值大于或等于当前日期/时间减去3小时。
SELECT *
FROM MyTable
WHERE MyColumn >= DATEADD(hh,-3,GETDATE())
您可以详细了解DATEADD here。