년 주차 구하기 질문드립니다. >.< 0 3 3,712

by 손님 [2010.05.17 16:44:06]



혼자서 끙끙 대다가 도저히 어떻게 해야할지를 몰라서 문의 드립니다.

제가 일정표를 만들어야 하는데

일단 해당 년도의 각 월마다 주차를 표에 표시해야해요...

근데 이걸 어떻게 표시해야할지 너무나 난감합니다..

일단 맨 위에 행은 해당 년도에 월 및 주차를 표시해야하고

밑에 행부터 행을 추가하면서 내용과 시작일 및 종료일을 넣으려고 하는데...

정말 어찌해야할지 난감합니다..

맨 위에 해당 년에 해당하는 월 및 주차를 구할줄 알면 각 행에 해당하는 내용의 시작일과

마지막일만 입력받아 서로 join 하면 될꺼 같은데..

년에 해당하는 모든 월 및 주차를 어떻게 해야할지 모르겠습니다...

꼭 답변 부탁드립니다..
by v상이v [2010.05.17 17:00:44]
SELECT TRUNC((TRUNC(sysdate) - TRUNC(TRUNC(sysdate, 'yy'), 'd')) / 7) + 1 "일요일기준주차"
,TRUNC((TRUNC(sysdate) - TRUNC(TRUNC(sysdate, 'yy'), 'iw')) / 7) + 1 "월요일기준주차"
FROM dual

예전에 마농님이 답변해 주셨던건데... 이렇게 재활용하네요...^^;;;

by v상이v [2010.05.17 17:08:32]
WITH t AS
(
SELECT TRUNC(sysdate,'yy') + LEVEL - 1 dt
FROM dual
CONNECT BY LEVEL <= 365
)
SELECT dt
,TRUNC(dt,'d')||' ~ '||(TRUNC(dt,'d')+6) AS "일요일_토요일"
,(TRUNC(dt,'d')+1)||' ~ '||(TRUNC(dt,'d')+7) AS "월요일_일요일"
, TRUNC((TRUNC(dt) - TRUNC(TRUNC(dt, 'yy'), 'd')) / 7) + 1 "일요일_기준_주차"
, TRUNC((TRUNC(dt) - TRUNC(TRUNC(dt, 'yy'), 'iw')) / 7) + 1 "월요일_기준_주차"
FROM t

by 손님 [2010.05.18 10:37:26]
'' ) 답변 감사드립니다
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입