DataBase/Oracle

[ORACLE]특정일 다음의 날짜 NEXT_DAY 함수

DevStory 2021. 5. 18.

NEXT_DAY Function

NEXT_DAY(date, weekday)

날짜(date) 이후 요일(weekday)에 해당하는 첫 번째 요일을 반환합니다.


매개변수

date

- 기준일자 입니다.

 

weekday

- 검색하고자 하는 요일입니다.

- 유효한 약어 바로 뒤에 오는 모든 문자는 무시됩니다.

- 오라클 설치시 설정한 언어에 따라 다릅니다.(영어로 설치했을 경우 한국어 사용 불가능)

한국어 영어 공통
일요일 SUN SUNDAY 1
월요일 MON MONDAY 2
화요일 TUE TUESDAY 3
수요일 WED WEDNESDAY 4
목요일 THUR THURSDAY 5
금요일 FRI FRIDAY 6
토요일 SAT SATURDAY 7

 


Example Data

EX 1) 오늘 날짜 이후의 금요일

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS NOW_DATE
     , TO_CHAR(NEXT_DAY(SYSDATE, 'FRI'), 'YYYY-MM-DD') AS DAY1
     , TO_CHAR(NEXT_DAY(SYSDATE, 'FRIDAY'), 'YYYY-MM-DD') AS DAY2
     , TO_CHAR(NEXT_DAY(SYSDATE, 6), 'YYYY-MM-DD') AS DAY3
FROM DUAL; 

기준일자(2021-05-18) 이후 첫 번째 금요일은 2021-05-21입니다.


EX 2) 약어 뒤에 오는 문자열 무시

- 'FRI' 약어 뒤에 '123123' 문자열이 붙었지만, '123123' 문자열은 무시됩니다.

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS NOW_DATE
     , TO_CHAR(NEXT_DAY(SYSDATE, 'FRI123123'), 'YYYY-MM-DD') AS NEXT_FRIDAY
FROM DUAL; 


EX 3) 약어 앞에 오는 문자열

- 약어 앞에 있을 경우 ORA-01846 에러가 발생합니다.

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS NOW_DATE
     , TO_CHAR(NEXT_DAY(SYSDATE, '123월'), 'YYYY-MM-DD') AS NEXT_FRIDAY
FROM DUAL; 

반응형

댓글