Oracle NEXT_DAY() 函数使用指南
Oracle NEXT_DAY()
是一个内置函数,它返回晚于给定的日期的指定第一个工作日的日期。
Oracle NEXT_DAY()
语法
这里是 Oracle NEXT_DAY()
函数的语法:
NEXT_DAY(date, char)
参数
date
-
必需的。
char
-
必需的。 它必须是会话日期语言中的星期几,可以是全名或缩写。所需的最小字母数是缩写版本中的字母数。紧跟在有效缩写后面的任何字符都将被忽略。
返回值
Oracle NEXT_DAY()
函数返回晚于给定的日期的指定第一个工作日的日期。
该函数的返回值与 date
参数具有相同的小时、分钟和秒。无论 date
是什么类型,该函数的返回值类型总是 DATE
。
如果任意一个参数为 NULL
, NEXT_DAY()
将返回 NULL
。
Oracle NEXT_DAY()
示例
这里有几个展示了 Oracle NEXT_DAY()
函数用法的示例。
基本用法
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
ALTER SESSION SET NLS_LANGUAGE = 'English';
SELECT
NEXT_DAY('2023-02-12', 'Tuesday')
FROM dual;
输出:
NEXT_DAY('2023-02-12','TUESDAY')
___________________________________
2023-02-14
本示例将会话的语言调整为 English
,并向函数中传入了 Tuesday
。当然您剋是用 Tuesday
的缩写 Tue
:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
ALTER SESSION SET NLS_LANGUAGE = 'English';
SELECT
NEXT_DAY('2023-02-12', 'Tue')
FROM dual;
输出:
NEXT_DAY('2023-02-12','TUE')
_______________________________
2023-02-14
语言设置
第二个参数与当前会话使用的语言有关系,假设您使用简体中文,您可以使用如下语句:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
ALTER SESSION SET NLS_LANGUAGE = 'SIMPLIFIED CHINESE';
SELECT
NEXT_DAY('2023-02-12', '星期二')
FROM dual;
输出:
NEXT_DAY('2023-02-12','星期二')
_______________________________
2023-02-14
NULL 参数
如果任意一个参数为 NULL
, NEXT_DAY()
将返回 NULL
。
ALTER SESSION SET NLS_LANGUAGE = 'English';
SET NULL 'NULL';
SELECT
NEXT_DAY(NULL, 'Tue') NULL_1,
NEXT_DAY('2023-02-12', NULL) NULL_2,
NEXT_DAY(NULL, NULL) NULL_3
FROM dual;
输出:
NULL_1 NULL_2 NULL_3
_________ _________ _________
NULL NULL NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle NEXT_DAY()
是一个内置函数,它返回晚于给定的日期的指定第一个工作日的日期。