IT/DBMS

[Oracle] 해당월말일 ~ 익월 말일까지 조회

알 수 없는 사용자 2023. 5. 30. 23:16
반응형
SELECT TO_CHAR(SYSDATE,'YYYYMM') || LPAD(LEVEL, 2, '0') AS dt
                  FROM dual
                CONNECT BY LEVEL  <=  TO_CHAR(last_day(SYSDATE),'DD')

                UNION ALL

                SELECT TO_CHAR(TRUNC(ADD_MONTHS(SYSDATE,1),'MM'),'YYYYMM')  || LPAD(LEVEL, 2, '0') AS dt
                  FROM dual
            CONNECT BY LEVEL <= TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,1)),'DD')

결과

/* parameter로 전달된 date의 당월 ~ 다음달 말일까지 */
SELECT TO_CHAR(TO_DATE(#{date}),'YYYYMM') || LPAD(LEVEL, 2, '0') AS dt
  FROM dual
CONNECT BY LEVEL  <=  TO_CHAR(last_day(TO_DATE(#{date})),'DD')

UNION ALL

SELECT TO_CHAR(TRUNC(ADD_MONTHS(TO_DATE(#{date}),1),'MM'),'YYYYMM')  || LPAD(LEVEL, 2, '0') AS dt
  FROM dual
CONNECT BY LEVEL <= TO_CHAR(LAST_DAY(ADD_MONTHS(TO_DATE(#{date}),1)),'DD')
반응형