NEXT_DAY
Syntax
NEXT_DAY
(
value IN date,
weekday IN text
)
RETURNS date;
NEXT_DAY
(
value IN date,
weekday_index IN integer
)
RETURNS date;
NEXT_DAY
(
value IN TIMESTAMP WITH TIME ZONE,
weekday IN text
)
RETURNS TIMESTAMP without time zone;
NEXT_DAY
(
value IN TIMESTAMP WITH TIME ZONE,
weekday_index IN integer
)
RETURNS TIMESTAMP without time zone;
개요
주어진 날짜 이후에 나오는 첫 번째 특정 요일의 날짜를 반환한다.
문자열 형태의 요일(예: 'Monday', 'Tue' 등) 또는 요일 인덱스(1부터 7, 1은 일요일)를 인자로 받아 처리한다.
TIMESTAMP WITH TIME ZONE 타입의 경우, 날짜 계산 후 원래 시간 부분을 그대로 유지하여 타임스탬프 값을 반환한다.
파라미터
파라미터
설명
value
date
, timestamp
타입이다; 기준이 되는 날짜 값이다.
weekday
text
타입이다;
찾고자 하는 요일을 나타내는 문자열이다.
Oracle의 요일 표기 규칙을 따르며, 입력된 문자열의 앞 3글자만 사용된다.
문자열 앞 3글자는 대/소문자 상관없이 아래와 같다.
"sun", "mon", "tue", "wed", "thu", "fri", "sat"
weekday_index
integer
타입이다; 찾고자 하는 요일의 인덱스이다.
유효한 값은 1부터 7까지이며, 1은 일요일, 2는 월요일, …, 7은 토요일로 간주된다.
예제
-- 문자형 요일 예제: '2023-05-15' 이후의 첫 번째 Monday 반환
SELECT oracle.NEXT_DAY('2023-05-15'::date, 'Monday');
next_day
------------
2023-05-22
(1 row)
-- 인덱스 기반 요일 예제: '2023-05-15' 이후의 첫 번째 월요일(인덱스 2) 반환
SELECT oracle.NEXT_DAY('2023-05-15'::date, 2);
next_day
------------
2023-05-22
(1 row)
-- TIMESTAMP WITH TIME ZONE 예제 (문자형):
SELECT oracle.NEXT_DAY('2023-05-15 14:30:00+09'::timestamptz, 'Friday');
next_day
---------------------
2023-05-19 14:30:00
(1 row)
-- TIMESTAMP WITH TIME ZONE 예제 (인덱스):
SELECT oracle.NEXT_DAY('2023-05-15 14:30:00+09'::timestamptz, 6);
next_day
---------------------
2023-05-19 14:30:00
(1 row)
Last updated