๋ฌ๋ ฅ2 [Oracle] N๊ฐ์ํ๊น์ง ๋ ์ง ๊ตฌํ๊ธฐ (feat. Connect by level) WITH calendar AS ( SELECT TO_CHAR(TO_DATE('20231201') + LEVEL - 1, 'YYYYMMDD') AS dt FROM dual CONNECT BY LEVEL ์ค๋ผํด์ Connect by level์ ์ด์ฉํด์ ๋ ์ง๋ฅผ ๊ตฌํ ์ ์๋๋ฐ ํน์ ๋ ์ง๋ก๋ถํฐ 4๊ฐ์ ์ง๋์์ ๊น์ง์ ๋ ์์ผ์ ๊ตฌํ ์ ์๋ค.์ ์ฟผ๋ฆฌ๋ 12์1์ผ ๊ธฐ์ค์ผ๋ก 4๊ฐ์ ํ์ ๋ ์ง๋ฅผ ์ ๋ถ ๊ตฌํ๋ ์ฟผ๋ฆฌ๋ค.SELECT์ ์์์ LEVEL -1์ 1์ผ๋ถํฐ ๊ตฌํ๊ธฐ ์ํด์๋ค.์ด๋ ๊ฒ ํ์ง ์์ ๊ฒฝ์ฐ 12์2์ผ๋ถํฐ ์กฐํ๋๋ค.(์ด๊ธฐ๊ฐ์ด 1์ด๊ธฐ์)level์ 1๋ถํฐ 122๊น์ง ์์ฑ๋๋๋ฐ ๋ ์ง ํ์์ด๊ธฐ์ 01 ~ 31๊น์ง ์๋์ผ๋ก ๋งคํ๋์ด ์กฐํ๋๋ค.๊ฐ์ธ ์คํฐ๋ ๊ธฐ๋ก์ ๋ฉ๋ชจํ๋ ๊ณต๊ฐ์ด๋ผ ํ๋ฆฐ์ ์ด ์์ ์ ์์ต๋๋ค.. IT/DataBase 2023. 12. 3. [Oracle] ๋ฌ๋ ฅ ๋ง๋ค๊ธฐ WITH first_day AS ( SELECT TRUNC(SYSDATE,'MM') AS first_day FROM dual ),cal AS ( SELECT TO_CHAR(first_day + LEVEL -1,'D') ์์ผ_์ซ์ , TO_CHAR(first_day + LEVEL -1,'MM-DD') ์์ผ , TO_CHAR(first_day + LEVEL -1,'IW') ์ฃผ์ฐจ FROM first_day CONNECT BY first_day + LEVEL -1 IT/DataBase 2023. 4. 1. ์ด์ 1 ๋ค์