IT/DataBase

[Oracle] ํ•ด๋‹น์›”๋ง์ผ ~ ์ต์›” ๋ง์ผ๊นŒ์ง€ ์กฐํšŒ

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2023. 5. 30.
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')

๋Œ“๊ธ€