在过去的几个小时内找到记录T-SQL

时间:2012-04-23 15:55:19

标签: tsql

某个客户在过去3小时内获取所有记录的最佳方式是什么?我不太确定如何设置这个sql?

模式

CustID varchar AddressID varchar DateCreated日期时间

2 个答案:

答案 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