日期:2014-05-17 浏览次数:20697 次
create table che
(请假开始日期 varchar(12),
结束日期 varchar(12),
开始时间 varchar(12),
结束时间 varchar(12)
)
insert into che
select '2013-04-18', '2013-04-19', '08:00', '15:00' union all
select '2013-04-17', '2013-04-18', '08:00', '13:00'
select 请假开始日期,
结束日期,
开始时间,
结束时间,
row_number() over(order by getdate()) 'rn'
into #t
from che
if exists(
select *
from #t a
where exists
(select 1 from #t b
where b.rn<>a.rn and
cast(a.请假开始日期+' '+a.开始时间 as datetime) between
cast(b.请假开始日期+' '+b.开始时间 as datetime)
and cast(b.结束日期+' '+b.结束时间 as datetime))
)
begin
print '有重复请假区间.'
end
else
begin
print '无重复请假区间.'
end
-- 执行结果
/*
有重复请假区间.
*/