1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | SELECT DUAL.*, TO_CHAR(TO_DATE(DUAL.NEXT_DATE, 'YYYY-MM-DD') + LEVEL - 1, 'DY') DAYDAY FROM ( SELECT CASE WHEN TO_CHAR(TO_DATE('2017-12-12', 'YYYY-MM-DD'), 'D') = '1' THEN TO_CHAR(TO_DATE('2017-12-12', 'YYYY-MM-DD') + 1, 'YYYY-MM-DD') WHEN TO_CHAR(TO_DATE('2017-12-12', 'YYYY-MM-DD'), 'D') = '6' THEN TO_CHAR(TO_DATE('2017-12-12', 'YYYY-MM-DD') + 3, 'YYY-MM-DD') ELSE TO_CHAR(TO_DATE('2017-12-12', 'YYYY-MM-DD') + 1, 'YYYY-MM-DD') END AS NEXT_DATE FROM DUAL ) DUAL CONNECT BY LEVEL <= 1; | cs |
파라미터로 입력되는 날짜의 요일이 금요일일 경우, 다음주 월요일의 날짜와 요일을 출력한다.
'BackEnd > DBMS' 카테고리의 다른 글
Oracle :: 데이터 사전 (Data Dictionary) (0) | 2018.01.11 |
---|---|
Oracle :: 연 월 주차 쿼리 (0) | 2017.12.21 |
Oracle :: 계층형 구조 (Hierarchical Query) (0) | 2017.11.06 |
Oracle :: REGEXP_REPLACE (문자열 끼워넣기) (0) | 2017.09.27 |
Oracle :: (ORA-28001) the password has expired (0) | 2017.09.27 |