【发布时间】:2013-03-08 11:50:06
【问题描述】:
如何统计晚上6点和早上6点之后的记录数?
这将持续到下午 12 点。
SELECT distinct count(barcode) c
FROM table1
where DAY(timestamp) = DAY(GETDATE())
AND MONTH(timestamp) = MONTH(GETDATE())
AND YEAR(timestamp) = YEAR(GETDATE())
AND datepart(hh,timestamp) >= 18
AND datepart(hh,timestamp) >= 6;
【问题讨论】:
-
请问什么版本的 SQL Server?
-
版本 SQL 服务器 2008
-
请您说的更清楚些。您是在寻找“今天下午 6 点到明天早上 6 点”、“昨天下午 6 点到今天早上 6 点”还是“今天早上 6 点之前或今天下午 6 点之后”?
-
另外请不要使用
timestamp作为列名。它不仅完全模糊(what的时间戳?),它还是一个保留字。
标签: sql sql-server sql-server-2008