Oracel function instance

1 if end if语句的function实例

create or replace function GET_PUBLICHOLIDAYTIME(fromtime in Date,totime in Date,isAvalible in number)
return number
as
--定义变量
free_day number:=0;
minDate Date;
maxDate Date;
total number:=0;
fromdate Date:=TO_DATE(to_char(fromtime,'yyyy-MM-dd'),'yyyy-MM-dd');
todate Date:=TO_DATE(to_char(totime,'yyyy-MM-dd'),'yyyy-MM-dd');
begin
if isAvalible = 1 then
select min(calendar_date),max(calendar_date),count(calendar_date),into minDate,maxdate,total from T_BI_TNT_DATE;
when calendar_date between fromDate and toDate
and IS_PUBLIC_HOLIDAY =1;
if minDate = fromDate then
total:=total - 1;free_day:= free_day + ((minDate-1-fromtime));
end if;
if maxDate = toDate then
total:=total - 1;free_day:= free_day + ((totime-maxDate));
end if;
if minDate = maxDate then
free_day:= totime-fromtime;
else
free_day:=free_day+total;
end if;
end if;
return free_day;
end GET_PUBLICHOLIDAYTIME;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值