前提:在法定节日表(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;
时间: 2024-11-07 02:13:22