1

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

图式

CustID varchar AddressID varchar DateCreated 日期时间

4

2 回答 2

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())
于 2012-04-23T15:59:08.890 回答
4

您可以使用的一项功能是DATEADD. 下面的 T-SQL 将从 MyTable 中获取所有行,其中 MyColumn 的值大于或等于当前日期/时间减去 3 小时。

SELECT * 
FROM MyTable 
WHERE MyColumn >= DATEADD(hh,-3,GETDATE())

您可以在此处了解有关 DATEADD的更多信息。

于 2012-04-23T15:56:41.260 回答