数据库
首页 > 数据库> > Oracle 日期加15天,跳过周末

Oracle 日期加15天,跳过周末

作者:互联网

最近客户有个需求,输出一个日期,这个日期是在打印日期的基础上后延15天,并且自动跳过周末。
写一个函数进行调用
create or replace function F_GET_RQ(DyRq varchar2)
return date
-- select F_GET_RQ('2022-06-29') from dual
as
v_ks date;--开始日期
v_jw date;--最终日期
i integer;--计数1
rq char;--判断变量
js integer;--计数2
BEGIN
i := 0;
js := 0;
select to_date(DyRq,'yyyy-MM-dd') into v_ks from dual;
--通过while循环,周一到周五js + 1 当 js 为15时意味着已经取到第十五个工作日,此时的v_ks+i 就是我们要取的值了。
while js < 15 loop
i := i + 1;
select to_char(v_ks+i,'d') into rq from dual;
if rq != '7' and rq != '1' then
js := js + 1;
end if;
end loop;
select v_ks+i into v_jw from dual;
return v_jw;
END F_GET_RQ;

进行调用
select F_GET_RQ('2022-06-29') from dual

标签:15,--,js,ks,date,dual,Oracle,跳过,select
来源: https://www.cnblogs.com/yzxcj/p/16425924.html