两个日期间隔三个工作日的sql语句

CREATE OR REPLACE FUNCTION "FUN_BETWEENDAYS" (start_dt date,
end_dt date)
return int is
t_days int;
begin
select (trunc(end_dt - start_dt) -
((case
WHEN (8 - to_number(to_char(start_dt,'D'))) > trunc(end_dt - start_dt) + 1 THEN 0
ELSE
trunc((trunc(end_dt - start_dt) -
(8 - to_number(to_char(start_dt,'D'))))/7) + 1 END) +
(case
WHEN mod(8 - to_char(start_dt, 'D'), 7) > trunc(end_dt - start_dt) - 1 THEN 0
ELSE
trunc((trunc(end_dt - start_dt) - (mod(8 - to_char(start_dt,'D'),7) + 1))/7) + 1 END)))
into t_days
from dual;
return t_days;
end FUN_BETWEENDAYS

 

posted @ 2017-08-25 15:03  liujiee2  阅读(670)  评论(0编辑  收藏  举报