SQL Server中的时间冲突

时间:2017-08-31 12:18:00

标签: sql sql-server

我有两次StartDate1,EndDate1,StartDate2,EndDate2。

StartDate1 = 10:30 AM
EndDate1 = 12:00 PM 
StartDate2 = 9:00 AM
EndDate2 = 10:30 AM

现在通过SQL查询想要检查时间是否重叠。请让我知道SQL查询。感谢

1 个答案:

答案 0 :(得分:2)

我假设所有四列都在同一个表中。
所以你可以简单地选择它们:

SELECT *
  FROM yourtable
 WHERE StartDate2 BETWEEN StartDate1 AND EndDate1
    OR EndDate2   BETWEEN StartDate1 AND EndDate1
    OR StartDate1 BETWEEN StartDate2 AND EndDate2
    OR EndDate1   BETWEEN StartDate2 AND EndDate2