日期:2014-05-18 浏览次数:20665 次
create table t20
(times datetime)
insert into t20
select '2012-02-27 06:30' union all
select '2012-02-28 05:30'
select c.times,
case when len(d.number)=1 then ' 0'+d.number+':00' else d.number+':00' end 'hour'
from t20 c
inner join
(select a.d,b.number
from
(select distinct convert(varchar,times,23) d from t20) a
cross join
(select cast(number as varchar(2)) number
from master.dbo.spt_values where [type]='P' and number between 0 and 23) b
) d on convert(varchar,c.times,23)=d.d
times hour
----------------------- -------
2012-02-27 06:30:00 00:00
2012-02-27 06:30:00 01:00
2012-02-27 06:30:00 02:00
2012-02-27 06:30:00 03:00
2012-02-27 06:30:00 04:00
2012-02-27 06:30:00 05:00
2012-02-27 06:30:00 06:00
2012-02-27 06:30:00 07:00
2012-02-27 06:30:00 08:00
2012-02-27 06:30:00 09:00
2012-02-27 06:30:00 10:00
2012-02-27 06:30:00 11:00
2012-02-27 06:30:00 12:00
2012-02-27 06:30:00 13:00
2012-02-27 06:30:00 14:00
2012-02-27 06:30:00 15:00
2012-02-27 06:30:00 16:00
2012-02-27 06:30:00 17:00
2012-02-27 06:30:00 18:00
2012-02-27 06:30:00 19:00
2012-02-27 06:30:00 20:00
2012-02-27 06:30:00 21:00
2012-02-27 06:30:00 22:00
2012-02-27 06:30:00 23:00
2012-02-28 05:30:00 00:00
2012-02-28 05:30:00 01:00
2012-02-28 05:30:00 02:00
2012-