-- 고수는 아니지만..
WITH T (ST_DT , ED_DT ) AS (
SELECT '20180701','20181130' FROM DUAL
)
SELECT TO_CHAR(ADD_MONTHS(TO_DATE(ST_DT,'YYYYMMDD'),LEVEL-1) ,'YYYYMM' ) YYYYMM
FROM T
CONNECT BY LEVEL <= ROUND(MONTHS_BETWEEN (ED_DT,ST_DT),0)
by 마농
[2018.12.07 15:54:11]
SELECT TO_CHAR(ADD_MONTHS(sdt, LEVEL - 1), 'yyyymm') ym
FROM (SELECT TO_DATE(SUBSTR('20180701', 1, 6), 'yyyymm') sdt
, TO_DATE(SUBSTR('20181130', 1, 6), 'yyyymm') edt
FROM dual)
CONNECT BY LEVEL <= MONTHS_BETWEEN(edt, sdt) + 1
;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.