两个时间段 之间是否有交集 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;