/*==================================================================*/
SELECT TO_CHAR (WEEK_START, 'YYYY-MM-DD') WEEK_START,
TO_CHAR (WEEK_END, 'YYYY-MM-DD') WEEK_END,
TO_CHAR (WEEK_START, 'WW') YEAR_WEEK_CNT,
TO_CHAR (WEEK_START, 'W') MONTH_WEEK_CNT
FROM ( SELECT TRUNC (START_DT + LEVEL, 'D') WEEK_START,
TRUNC (START_DT + LEVEL, 'D') + 7 WEEK_END
FROM (SELECT TO_DATE ('20100719') - 1 START_DT,
TO_DATE ('20110313') END_DT
FROM DUAL)
CONNECT BY LEVEL <= END_DT - START_DT)
GROUP BY WEEK_START, WEEK_END
/*==================================================================*/
WITH T AS
(SELECT TO_DATE('20101230', 'YYYYMMDD') SDT ,
TO_DATE('20110302', 'YYYYMMDD') EDT
FROM DUAL
)
SELECT TO_CHAR(SDT, 'WW') WW ,
TO_CHAR(SDT, 'W') W ,
TO_CHAR(SDT, 'YYYYMMDD') SDT ,
TO_CHAR(SDT + 6, 'YYYYMMDD') EDT
FROM
(SELECT TRUNC(SDT, 'D') + LEVEL*7 - 7 SDT
FROM T CONNECT BY LEVEL <= (TRUNC(EDT, 'D') - TRUNC(SDT, 'D'))/7 + 1
) ;
/* 오라클 클럽에서 펌*/
댓글 없음:
댓글 쓰기