아래 제가올린 질문에 대한 해결책을 찾다가 예전에 문의했던걸 응용을 하면 해결책을 찾을 수 있을꺼 같아서 다시 문의드립니다.
http://www.sqler.com/611303
구간을 시간 단의로 쪼개기를 하려면 어떻게 할까요?
상기 질문은 제가 구간을 월단위로 쪼개서 결과값을 받기위해 질문했던 것인데요.
이를 응용해서 시간단위로 쪼개서 다른 결과값을 얻고자 합니다.
1. 2013-12-03 09:00:00 2013-12-03 12:00:00
2. 2013-12-03 08:00:00 2013-12-03 13:00:00
----'
결과값이
1 2013-12-03 09:00:00
1 2013-12-03 10:00:00
1 2013-12-03 11:00:00
2 2013-12-03 08:00:00
2 2013-12-03 09:00:00
......
2 2013-12-03 12:00:00
이렇게 나오게 하고 싶습니다.
가능할까요?
Comment 1
-
건우아빠
2015.01.22 15:52
with res as (select '1' gb, '2013-12-03 09:00:00' f_dt , '2013-12-03 12:00:00' t_dt union allselect '2' , '2013-12-03 08:00:00' ,'2013-12-03 13:00:00' )select * , DATEdiff(hh, f_dt, t_dt) , DATEADD(HH,b.number,f_dt ) [new_time]from res across apply( select numberfrom master.dbo.spt_values where type ='P' and number < DATEdiff(hh, a.f_dt, a.t_dt)) b