日期:2014-05-19  浏览次数:20564 次

如何取时间的"日"和"小时"
表中有time,num两字段
如何取每一天的8点到20点之间的NUM数之和?
假设我想取出8月1日-8月4日每天8点到20点之间的NUM数之和
即想得到如下格式的数:
20070801 ***
20070802 ***
20070803 ***
20070804 ***
如何写SQL,谢谢!

------解决方案--------------------
---?
select num=sum(case when hour(time) between 8 and 20 then num else 0 end)
from 表
where convert(char(10),time,120) between '2007-08-01 ' and '2007-08-04 '
------解决方案--------------------
convert(varchar(10), 日期字段, 120) between '2007-08-01 ' and '2007-08-04 '
and datepart(hh, 日期字段) between 8 and 20