发现重叠的重叠

时间:2015-12-10 08:50:31

标签: sql-server

我正在使用sql server并希望保存移位数据而不重叠。 我的表有StartDateTime和EndDateTime列,这些变化很可能是几周和/或几个月(不是每日基数)。 即每行有1个月的早晚,夜班和夜班(例如)。 如果发现重叠,我需要sql查询给出结果,所以我不允许用户/ UI添加重叠数据。

感谢, Najjay

1 个答案:

答案 0 :(得分:0)

尝试此查询:

select 1 
from shiftsTable
where (startdate <= @startDate and endDate >= @endDate)
or
(startdate >= @startDate and endDate <= @endDate)
or
(startdate <= @startDate and endDate <= @endDate)

问题仍然存在,如果我进行夜班,即从晚上10点到下一天早上06:00 AM。早上和中午班次都可以。