如何用SQL语句查询SQLserver一个表中某个时间段内所有整点时间的值

表结构,如图所示,数据库里时间是每分钟取值,但只想查询整点时间的值,例如2015年7月7日到2015年7月8日所有整点数据

使用datename函数来取时间中分钟的值。因为整点,都是0分钟。

例:select datename(n,getdate()) 整点则返回 0
需要注意取分钟的参数是n,而不是minute的缩写m,因为月份month的缩写也是m。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27
使用datepart。
where datepart(mi,Time) = 0 and datepart(s,Time) = 0 。这样应该就可以了。意思是取分钟和秒是0的数据,应该就是整点了。也可以秒不用管,只管分钟是0的数据。
第2个回答  推荐于2016-07-19
SELECT TAG1,TAG2,TAG3......
FROM [表名]
WHERE [Time] BETWEEN 起时间 AND 止时间
AND DATEPART(MINUTE,[time])=0 AND DATEPART(SECOND,[time])=0追问

起时间和止时间格式怎么写,是2015/07/7吗

追答

SQLSERVER 中直接写字符串就行了
比如:
BETWEEN '2015-6-9 12:33' AND '2015-9-9 17:58'

本回答被提问者和网友采纳
第3个回答  2015-11-02
把字段转换为分钟,再 取余 60即可
第4个回答  2018-08-08
select * from table where time between 2015/7/7 and 2015/7/8 and time like '%:00:00' ;
相似回答