BackEnd/DBMS

Oracle :: 해당 파라미터로 받는 날짜의 다음날 + 요일을 출력하는 쿼리 (주말 제외)

초록 (green) 2017. 12. 12. 21:52
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

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