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

파라미터로 입력되는 날짜의 요일이 금요일일 경우, 다음주 월요일의 날짜와 요일을 출력한다.

+ Recent posts