📜  PLSQL 内置 NEXT_DAY函数

📅  最后修改于: 2022-05-13 01:54:59.506000             🧑  作者: Mango

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

Return

SUNDAYThe first Sunday later than a date
MONDAYThe first Monday later than a date
TUESDAYThe first Tuesday later than a date
WEDNESDAYThe first Wednesday later than a date
THURSDAYThe first Thursday later than a date
FRIDAYThe first Friday later than a date
SATURDAYThe 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;

输出 -