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