如何取时间的"日"和"小时"

bluesky1980 2007-08-03 09:46:46
表中有time,num两字段
如何取每一天的8点到20点之间的NUM数之和?
假设我想取出8月1日-8月4日每天8点到20点之间的NUM数之和
即想得到如下格式的数:
20070801 ***
20070802 ***
20070803 ***
20070804 ***
如何写SQL,谢谢!
...全文
166 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
leo_lesley 2007-08-03
  • 打赏
  • 举报
回复
----是这个意思麽?
create table tab(time datetime,num int)
insert tab
select '20070801 01:01:000',1
union select '20070802 09:01:000',2
union select '20070803 10:01:000',3
union select '20070804 15:01:000',4


select num=sum(case when DATEPART(HH,time) between 8 and 20 then num else 0 end)
from tab
where convert(char(10),time,120) between '2007-08-01' and '2007-08-04'

drop table tab
leo_lesley 2007-08-03
  • 打赏
  • 举报
回复
select num=sum(case when DATEPART(HH,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'
echiynn 2007-08-03
  • 打赏
  • 举报
回复
convert(varchar(10), 日期字段, 120) between '2007-08-01' and '2007-08-04'
and datepart(hh, 日期字段) between 8 and 20
leo_lesley 2007-08-03
  • 打赏
  • 举报
回复
---?
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'
bluesky1980 2007-08-03
  • 打赏
  • 举报
回复
谢谢leo_lesley echiynn(寶玥)
问题已解决

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧