CREATE OR REPLACE FUNCTION fun_is_holi_day (dat in Date)
RETURN varchar2 --判断是否是工作日 0 工作日 1 休息日
AS
sig_n varchar2(1);
tmp NUMBER;
begin
/*
建立张
CREATE TABLE "SYS_DAY"
(
"DAY_ID" VARCHAR2(32) DEFAULT SYS_GUID() NOT NULL ENABLE,
"DAY_DATE" DATE NOT NULL ENABLE,
"DAY_TYPE" CHAR(1) NOT NULL ENABLE
) ;
COMMENT ON COLUMN "SYS_DAY"."DAY_ID" IS '工作日主键';
COMMENT ON COLUMN "SYS_DAY"."DAY_DATE" IS '日期';
COMMENT ON COLUMN "SYS_DAY"."DAY_TYPE" IS '日期类型 0 工作日休息 1节假日上班';
COMMENT ON TABLE "SYS_DAY" IS '工作日表,本表记录2种日期,第一种是正常工作日休息,第二种是节假日上班';
select to_char(to_date('2015-04-04','yyyy-mm-dd'),'DAY') from dual
union
select to_char(to_date('2015-04-04','yyyy-mm-dd'),'D') from dual
*/
select to_char(dat,'D') into tmp from dual;
if tmp = 7 or tmp = 1 then --判断是否是 星期六[7]和星期天[1]
--在系统节假日配置中判断是否是节假日
--日期类型 0 工作日休息 1节假日上班
select count(1) into tmp from SYS_DAY t where t.day_date=dat and t.day_type='1';
if tmp > 0 then
sig_n:='0';
else
sig_n:='1';
end if;
else
--在系统节假日配置中判断是否是节假日
--日期类型 0 工作日休息 1节假日上班
select count(1) into tmp from SYS_DAY t where t.day_date=dat and t.day_type='0';
if tmp > 0 then
sig_n:='1';
else
sig_n:='0';
end if;
end if;
return sig_n;
end fun_is_holi_day;
本文来源:https://www.wddqw.com/doc/869de3be0c22590103029d1f.html
正在阅读:
oracle节假日判断01-01
农村植树节活动方案01-01
特别的生日礼物作文800字01-01
端午节的英语作文带翻译01-01
虚幻的永恒01-01
幼儿园主题安全活动《安全教育》优质课公开课教案比赛讲课获奖教案01-01
圆柱侧面积的计算意义01-01
走过这一年01-01