SQL中去掉年月日,只要时
SQL中去除年月日,只要时

时间 行数
2015-05-29 01:00:00.000 2
2015-05-29 02:00:00.000 1
2015-05-29 06:00:00.000 2
想变成
时间 行数
01:00:00.000 2
02:00:00.000 1
06:00:00.000 2
我只想统计列test_time总的时间段访问次数,不要年月日,上面的代码要怎么修改才行呢?
还有就是能否变成这样呢?
时间 行数
1~2 2
2~3 1
6~7 2
------解决思路----------------------
select dateadd(hh,(datediff(hh,convert(varchar(10),dateadd(ss,-1,test_time),120),dateadd(ss,-1,test_time))),convert(varchar(10),test_time,120)) as 时间段,
count(*) as 行数
from zbowei_tongji
group by dateadd(hh,(datediff(hh,convert(varchar(10),dateadd(ss,-1,test_time),120),dateadd(ss,-1,test_time))),convert(varchar(10),test_time,120))
时间 行数
2015-05-29 01:00:00.000 2
2015-05-29 02:00:00.000 1
2015-05-29 06:00:00.000 2
想变成
时间 行数
01:00:00.000 2
02:00:00.000 1
06:00:00.000 2
我只想统计列test_time总的时间段访问次数,不要年月日,上面的代码要怎么修改才行呢?
还有就是能否变成这样呢?
时间 行数
1~2 2
2~3 1
6~7 2
------解决思路----------------------
with test(ctime , line ) as
(select '2015-05-29 01:00:00.000',2 union all
select '2015-05-29 02:00:00.000',1 union all
select '2015-05-29 06:00:00.000',2 union all
select '2015-05-31 01:00:00.000',2 union all
select '2015-05-31 02:00:00.000',1
),
t as
(select datename(hour,ctime) ctime,COUNT(1) line from test group by datename(hour,ctime))
select cast(ctime as varchar) +'~'+ cast((ctime+1)as varchar) ctime,line from t