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-14NULL 参数
如果任意一个参数为 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() 是一个内置函数,它返回晚于给定的日期的指定第一个工作日的日期。