1 2 3 4 5 6 7 8 9 10 | WITH T AS ( SELECT TO_DATE(:referencedate, 'YYYYMMDD' ) dt FROM ( SELECT :referencedate YYYYMMDD FROM dual) WHERE TO_CHAR(TO_DATE(YYYYMMDD, 'YYYYMMDD' ), 'ddd' ) <= TO_CHAR(TO_DATE(YYYYMMDD, 'YYYYMMDD' ), 'ddd' ) ) SELECT dt as "입력일" , CEIL((dt - TRUNC(TRUNC(dt, 'MM' ), 'IW' ) -4 ) / 7) || '주차' "입력일의 주차" , CASE WHEN TO_CHAR(TO_DATE(:referencedate, 'YYYYMMDD' ), 'D' ) < 4 THEN TRUNC(TO_DATE(:referencedate, 'YYYYMMDD' )+4, 'IW' )+2 ELSE TRUNC(TO_DATE(:referencedate, 'YYYYMMDD' ), 'IW' )+2 END "입력일의 그주 수요일" --해당 날짜의 주중 수요일 FROM T |