在前一天晚上和当天早上之间进行SQL筛选



我试图在前一天下午4点到当天凌晨4点之间筛选一个表,但不知道如何查询。

类似于:

WHERE
dateColumn >= DATEADD(DAY, -1, GETDATE()) AND dateColumn <= GETDATE()
AND DATEPART(hh, dateColumn) >= 16 AND DATEPART(hh, dateColum) <= 4

我意识到WHERE语句中的第二行显然是不正确的,不会返回任何结果,但这是为了让我知道我要做什么。感谢所有帮助!

有多种方法可以做到这一点,这将获得昨天1600和今天1600的日期时间。

WHERE dataColumn >= dateadd(hour, -8, convert(datetime, convert(date, getdate()))) 
AND   dateColumn <= dateadd(hour, 16, convert(datetime, convert(date, getdate())));

最新更新