首页 > 开发 > 综合 > 正文

在ORalce 中,怎么判断两个时间段之间是否有交集, 编写的一个函数.

2024-07-21 02:40:35
字体:
来源:转载
供稿:网友

   判定2个时间段是否有交集的函数,开始是在我计算考勤的时候有用过,
后来发现用到的地方越来越多,  丢个砖头
9i 下通过.

两个时间段 之间是否有交集  intime---outtime
fromdate--todate
假如有交集,则返回1,否则返回0
*/
create or replace function func_IsTimeCross(intime in date, outtime in date,
fromdate date , todate date )
return number is
Result number;
begin
Result :=0;
 if (fromdate<intime) then --请假的开始时间<当天应上班的时间
                       if (todate>=outtime) then --请假的结束时间>=当天应下班时间 说明有交集
                      Result :=1;
                       end if;
 end if;
 if (fromdate>=intime) then -- 假如请假开始时间>应上班时间,只要在下班时间之前,则也说明有集
                       if (fromdate<=outtime) then
                       Result :=1;
                       end if;
 end if ;
  return(Result);
end func_IsTimeCross;

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表