PLSQL 内置 NEXT_DAY函数
先决条件: PL/SQL简介
PLSQL 代表“SQL 的过程语言扩展” ,用于转换、更新和查询数据库中的数据。它被分组为包含声明和语句的块。并且它与oracle 数据库集成(从版本7 开始)。 PLSQL 背后的主要思想是它添加了一些 SQL 中没有的编程约束。
在 PLSQL 中NEXT_DAY函数用于返回大于给定日期的第一个工作日。所以这个函数将接受用户的输入,即日期和工作日,然后它会根据工作日返回大于给定日期的日期。
Oracle 11g、Oracle 12c、Oracle 10g、Oracle 9i支持此函数。
例子 -
INPUT: NEXT_DAY('22-Jul-21','WEDNESDAY')
OUTPUT:'28-Jul-21'
INPUT: NEXT_DAY('03-Mar-15','MONDAY')
OUTPUT:'09-Mar-15'
INPUT: NEXT_DAY('22-Jul-20','SUNDAY')
OUTPUT:'26-Jul-20'
句法 -
NEXT_DAY(DATE,WEEKDAY)
参数 :
DATE – 用于查找下一个工作日的日期值。
WEEKDAY - 这是我们想要返回的一周中的哪一天。
RETURNS –根据工作日返回大于给定日期的第一个日期。
工作日接受下表中的下一个工作日 – Weekday ReturnSUNDAY The first Sunday later than a date MONDAY The first Monday later than a date TUESDAY The first Tuesday later than a date WEDNESDAY The first Wednesday later than a date THURSDAY The first Thursday later than a date FRIDAY The first Friday later than a date SATURDAY The first Saturday later than a date
示例 1 –
SELECT
NEXT_DAY( DATE '2000-01-01', 'SUNDAY' ) as NEXT_DATE
FROM
dual;
输出 -
示例 2 –
DECLARE
input varchar(25);
weekday varchar(25);
res varchar2(25);
BEGIN
input:=&input;
weekday:=&weekday;
res:=NEXT_DAY(input,weekday);
dbms_output.put_line('DATE:'||input);
dbms_output.put_line('WEEKDAY:'||weekday);
dbms_output.put_line('RESULT:'||res);
END;
输出 -
示例 3 –
使用系统日期
SELECT NEXT_DAY(SYSDATE,'MONDAY') AS NEXT_MONDAY
FROM DUAL;
输出 -