DB/ORACLE

[ORACLE] 달력 기준으로 매월 셋째주 토요일 일자 쿼리로 구하는 방법

배고파요 2022. 10. 14. 16:41
728x90

 

 

 

WITH TEMP_DATE AS (SELECT TO_DATE(YYYY||MM, 'YYYYMM') YYYYMM
        FROM   (SELECT LPAD(LEVEL, 2, '0') MM
                FROM   DUAL CONNECT BY LEVEL <= 12),
               (SELECT TO_CHAR(LEVEL+ TO_CHAR(SYSDATE, 'YYYY') -1 ) YYYY
                FROM   DUAL CONNECT BY LEVEL <= 1)
        ORDER BY 1)
SELECT YYYYMM,
       YYYYMM + (-7) + (7-TO_CHAR(YYYYMM, 'D')) "이전째주 토요일",
       YYYYMM + (7-TO_CHAR(YYYYMM, 'D')) "첫째주 토요일",
       YYYYMM + 7 + (7-TO_CHAR(YYYYMM, 'D')) "둘째주 토요일",
       YYYYMM + 14 + (7-TO_CHAR(YYYYMM, 'D')) "세째주 토요일",
       YYYYMM + 21 + (7-TO_CHAR(YYYYMM, 'D')) "네째주 토요일",
       YYYYMM + 28 + (7-TO_CHAR(YYYYMM, 'D')) "다섯째주 토요일"
FROM   TEMP_DATE;

 

 

 

 

 

 

 

 

 

 

 

  •  

출처: https://tnsgud.tistory.com/435 [Soon Gud Story:티스토리]

 


개발 공부를 위한 블로그 입니다. 

오류가 있다면 댓글로 알려주세요! 

감사합니다.

728x90