sql 时间比较

来源:百度知道 编辑:UC知道 时间:2024/05/13 08:04:08
比如要查询时间大于8点半 小于5点半的记录 where里面应该怎么打
时间的格式是yyyy-mm-dd hh:mm:ss
5点半是下午的 就是17点半

问题是要先把hh:mm:ss从yyyy-mm-dd hh:mm:ss格式中提取出来 比如提取小时是用hour 提取年份使用year 我就是不知道提取完整的时间是用什么

select * from tablename where convert(varchar,yourDateTime,108) between '08:00:00'and '17:30:00'
--yourDateTime为你数据库里的时间,convert(varchar,yourDateTime,108) 是取hh:mm:ss

用datediff()函数
datediff(minute, 时间1,时间2)表示时间2-时间1的差。

提取小时和分可以用函数DATEPART
DATEPART('HH',字段) 返回0-23
DATEPART('MI',字段) 返回0-59

where 时间 BETWEEN '2009-03-29 08-30-00' and '2009-03-29 17-30-00'
或者
where 时间>='2009-03-29 08-30-00' and 时间<'2009-03-29 17-30-00'

没有hh:mm:ss这种提取法,你只能一个一个的提取

使用convert转换一下就可以了