WITH t AS (SELECT TO_DATE (:yyyymm || '01', 'YYYY-MM-DD') + LEVEL - 1 days , CEIL((TO_NUMBER(TO_CHAR(TRUNC (TO_DATE (:yyyymm || '01', 'YYYY-MM-DD')),'D')) - 1 + TO_NUMBER(TO_CHAR(TO_DATE (:yyyymm || '01', 'YYYY-MM-DD') + LEVEL - 1,'DD')))/7 ) WEEK FROM DUAL CONNECT BY LEVEL <= to_number(to_char(last_day(TO_DATE (:yyyymm || '01', 'YYYY-MM-DD')),'DD'))) SELECT * FROM t WHERE week = 3 --3째주 AND TO_CHAR (days, 'd') = 2 --월요일 --11월 1일이 첫주라고 생각했을 때 쿼리인데 첫번째 일요일이 첫주가 된다면 조금 수정하시면 될 것 같아요. 저는 업무 때문에 이만..