달력을 월간으로 만들었는데
주간으로 만드려고 합니다
select dateadd(Day,-(DatePart(dw,getdate())-1),getdate()) as starWeek,
dateadd(Day,(7-DatePart(dw,getdate())),getdate()) as endWeek
이형식의 쿼리를 뿌려보면
starWeek endWeek
2015-04-05 11:22:03.860 2015-04-11 11:22:03.860
이런형식으로 현재날짜가 속한 한주간의 시작일자와 끝일자가 나옵니다.
이걸 두개의 컬럼으로 구분하지말고
한로우로 값을
starWeek
2015-04-05 11:22:03.860
2015-04-06 11:22:03.860
2015-04-07 11:22:03.860
2015-04-08 11:22:03.860
2015-04-09 11:22:03.860
2015-04-10 11:22:03.860
2015-04-11 11:22:03.860
날짜가 이렇게 로우로 뿌려지게 하고싶습니다. ㅠㅠ
도와주세요 2틀 노력중에 답이 없습니다.ㅠㅠ
Comment 1
-
Terry
2015.04.09 15:12
--참고만 하세요..
--일단 결과물은 동일하게 나오네요.
--쿼리시작
with tbl (startWeek,endWeek) As
(
Select '2015-04-05 11:22:03.860','2015-04-11 11:22:03.860'
)
,tbl2 (currdate,startWeek,endWeek,seq) As
(
Select
Dateadd(day,0 ,a.endWeek)
,a.startWeek
,a.endWeek
,seq = 1
From tbl a
Union All
Select
Dateadd(day,- ( seq ),a.endWeek)
,a.startWeek
,a.endWeek
,seq = seq + 1
From tbl2 a
Where seq <= ( DATEDIFF(day,a.startWeek,a.endWeek) )
)
Select a.currdate
From tbl2 a
Order By a.seq Desc
--쿼리끝