3,491
社区成员
发帖
与我相关
我的任务
分享
declare
days number:='&days';
dates date:=sysdate;
inc number;
begin
loop
select count(1) into inc from dual
where to_char(dates+level,'D') in (1,7)
connect by level<=days;
exit when inc=0;
dates:=dates+days; days:=inc;
end loop;
dbms_output.put_line(days);
dbms_output.put_line(dates+days);
end;
/
-- 除去双休日后,第 days 天的日期
declare
days number:='&days';
dates date:=sysdate;
inc number;
begin
loop
select count(1) into inc from dual
where to_char(dates+level,'D') in (1,6)
connect by level<=days;
exit when inc=0;
dates:=dates+days; days:=inc;
end loop;
dbms_output.put_line(dates+days);
end;
/
-- 星期天作为一个星期的第一天
declare
days number:='&days';
inc number;
begin
select count(1) into inc
from dual
where to_char(sysdate+level,'D') in (1,6)
connect by level<=days;
dbms_output.put_line(sysdate+days+inc);
end;
/