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

王朝mssql·作者佚名  2006-12-17
宽屏版  字体: |||超大  

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

在ORalce 中,怎么判断两个时间段之间是否有交集, 编写的一个函数. 判断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;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有