1. 程式人生 > >Oracle function實現根據輸入的日期以及天數,獲取此日期之後的天數的工作日

Oracle function實現根據輸入的日期以及天數,獲取此日期之後的天數的工作日

eat log func code nbsp ber number rep reat

前提:在法定節日表(t_fdjr )中維護法定節日包括周六周天

/**
* 功能描述:根據輸入的日期以及天數,獲取此日期之後的天數的工作日
* 輸入參數:
* i_date YYYY-MM-DD
* i_day 天數
*/
create or replace function fun_get_workday(i_date varchar2, i_day number) 
return varchar2
is
 k int:=0;
 d1 date;
 d2 date;
begin
  k := i_day; 
  d1 := to_date(i_date, YYYY-MM-DD);
  d2 :
= d1 + k; while k > 0 loop select count(c_rq) into k from t_fdjr t where t.c_rq > d1 and t.c_rq <= d2; d1 := d2; d2 := d2 + k; end loop; return to_char(d2,YYYY-MM-DD); end;

Oracle function實現根據輸入的日期以及天數,獲取此日期之後的天數的工作日