如何在sql server中获得每小时的数据(无论日期是什么),我知道这可以用datePart(小时,列名)来实现,但具体地说,我需要特定时间间隔的数据,包括分钟而不考虑日期。
场景:'TestTable‘包含数据类型为(DateTime)的column - DBTimestamp
我需要从'TestTable‘的所有记录,其中'DBTimestamp’是之间的3小时35分钟和4小时30分钟,无论指定的日期。
发布于 2018-01-16 19:41:53
根据我的理解,你需要记录,在特定的时间范围内,而不是日期部分。因此,我提出了以下解决方案:
SELECT * FROM (SELECT Id, CAST(Time AS time) [time]
FROM Table) AS Q1
WHERE Q1.time > CAST('03:35:00' AS time)
AND Q1.time < CAST('12:30:00' AS time)下面是SQL Fiddle:http://sqlfiddle.com/#!6/21b313/1
发布于 2018-01-16 19:40:37
你可以用这个。
SELECT * FROM TestTable WHERE CAST(DBTimestamp AS TIME) BETWEEN '03:35' AND '04:30' 发布于 2018-01-16 19:39:28
好吧,我猜你可以做以下的一些变化:
SELECT *
FROM TABLE
WHERE (DATEPART(HOUR, TIMESTAMP) = 3 AND DATEPART(MINUTE, TIMESTAMP) >= 35) OR
(DATEPART(HOUR, TIMESTAMP) = 4 AND DATEPART(MINUTE, TIMESTAMP) <= 30)https://stackoverflow.com/questions/48280163
复制相似问题