前一天我使用了以下表达式。
DATE_INSERTED >=DATEADD(day, DATEDIFF(day,0,GETDATE())-1,0)
AND DATE_INSERTED < DATEADD(day, DATEDIFF(day,0,GETDATE()),0)
如何从昨天上午10点到今天上午10点获取行
答案 0 :(得分:2)
-- yesterday at midnight:
DECLARE @yesterday DATETIME = DATEADD(DAY,DATEDIFF(DAY,1,GETDATE()),0);
SELECT
...
WHERE DATE_INSERTED >= DATEADD(HOUR, 10, @yesterday) -- 10 AM yesterday
AND DATE_INSERTED < DATEADD(HOUR, 34, @yesterday); -- 10 AM today
答案 1 :(得分:1)
使用一些具有所需属性的日期(时间),而不是使用零:
DATE_INSERTED >=
DATEADD(day, DATEDIFF(day,'20010102',GETDATE()),'2001-01-01T10:00:00')
AND DATE_INSERTED <
DATEADD(day, DATEDIFF(day,'20010102',GETDATE()),'2001-01-02T10:00:00')
即。如果您将自2001年1月2日以来发生的总天数添加到2001年1月1日上午10:00,您将始终获得“昨天上午10点”的值。第二个几乎相同。