检查两个日期时间是否在另外两个日期之间

fan*_*rek 4 sql-server datetime

今天我面临着一个我无法解决的问题。

我需要检查两个日期时间(2019-04-08 13:30:00- 2019-04-08 15:30:00)的之间或重叠两个人(2019-04-08 14:00:00- 2019-04-08 16:00)。

想象这些日期时间是事件的日期。我们可以看到之间有一个事件14:0016:00所以我们不能有其他事件。

我试过这样的事情:

SELECT * FROM Rezerwacja WHERE
(('2019-04-08 13:30:00.000' between Start and Stop) OR
('2019-04-08 15:30:00.000' between Start and Stop))
Run Code Online (Sandbox Code Playgroud)

如何检查是否已经有“事件”?

ype*_*eᵀᴹ 10

要检查重叠,您只需要 2 个条件,开始或间隔 A 与间隔 B 结束,反之亦然:

WHERE
      '2019-04-08 13:30:00.000' < Stop 
  AND Start < '2019-04-08 15:30:00.000'
Run Code Online (Sandbox Code Playgroud)