oracle判断法定休息日,oracle function 用于判断是否为节假日
create or replace function isHoliday(dateOfYear varchar,holiday varchar,workday varchar) return boolean is
Result boolean;
n_number number(1);--返回为周几 1为周日 。。。7为周六
begin
if instr(holiday,to_char(to_date(dateOfYear,'yyyy-mm-dd'),'yyyy-mm-dd'),1,1) >0 then --如果当前日期在节假日中则返回true
Result := true;
else
SELECT to_number(to_char(to_date(dateOfYear,'yyyy-mm-dd'),'D')) into n_number FROM DUAL; --查询当前日期是周几
if(n_number !=1 and n_number != 7) then --如果当前日期不是周六和周日则返回false
Result := false;
else
if instr(workday,to_char(to_date(dateOfYear,'yyyy-mm-dd'),'yyyy-mm-dd'),1,1) >0 then --如果当前日期在工作日中则返回false
Result := false;
else --如果当前日期不在工作日中则返回true
Result := true;
end if;
end if;
end if;
return(Result);
end isHoliday;
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
