SELECT DAYS, DATE_D, WEEK_GRP, WEEK_GRP + (DAYS -1) AS ALL_DATE FROM ( SELECT TO_CHAR (TRUNC (BASE_MON, 'd') + LEVEL - 1, 'd') DAYS, TO_CHAR (TRUNC (BASE_MON, 'd') + LEVEL - 1, 'fmdd') DATE_D , TRUNC (TRUNC (BASE_MON, 'd') + LEVEL - 1, 'd') WEEK_GRP FROM (SELECT TO_DATE ('201409', 'YYYYMM') BASE_MON FROM DUAL) CONNECT BY TRUNC (BASE_MON, 'd') + LEVEL - 1 < = TRUNC (LAST_DAY (BASE_MON), 'd') + 7 )
안녕하세요.
개발하다가 잘 안되는게 있어서 질문 올립니다.
위 쿼리를 실행하게 되면 아래 그림처럼 나오게 됩니다.
이 쿼리에서 WEEK_GRP 이 컬럼에 나오는 날짜가 현재 일요일만 찍히고 있는데요
이걸 토요일과 일요일 둘다 나오게 하고 싶은데
잘 안되네요
WITH T AS ( SELECT TO_DATE('201409', 'YYYYMM') AS base_mon FROM DUAL ) SELECT TO_CHAR(all_date, 'd') AS days, TO_CHAR(all_date, 'DD') AS date_d, DECODE(TO_CHAR(all_date, 'd'), 7, all_date, TRUNC(all_date, 'd')) AS week_grp, all_date FROM ( SELECT TRUNC(base_mon, 'd') + LEVEL - 1 AS all_date FROM T CONNECT BY TRUNC(BASE_MON, 'd') + LEVEL - 1 < = TRUNC(LAST_DAY (BASE_MON), 'd') + 7 )