重叠日期范围MySQL

J.C*_*J.C 1 php mysql datetime

我有以下数据;

ID  startDate               endDate
-----------------------------------------------
1   2010-03-01 10:00:00     2010-03-01 12:00:00
2   2010-03-01 12:30:00     2010-03-01 15:30:00
3   2010-03-01 15:30:00     2010-03-01 18:30:00
Run Code Online (Sandbox Code Playgroud)

我想要做的是检查开始和结束日期是否属于我的数据中的startDate和endDate范围.

所以例如,以下就可以了;

startDate               endDate
-----------------------------------------------
2010-03-01 12:00:00     2010-03-01 12:30:00
2010-03-01 18:30:00     2010-03-01 21:00:00
Run Code Online (Sandbox Code Playgroud)

但是下列日期会失败,因为它们会重叠;

startDate               endDate
-----------------------------------------------
2010-03-01 09:00:00     2010-03-01 13:00:00 (overlaps ID 1)
2010-03-01 10:30:00     2010-03-01 11:00:00 (overlaps ID 1)
2010-03-01 18:00:00     2010-03-01 19:00:00 (overlaps ID 3)
Run Code Online (Sandbox Code Playgroud)

我正在拔头发,因为我可以让上述3个测试日期范围中的一个或两个失败,但不是全部.

我正在使用MySQL.

Wri*_*ken 7

用于选择重叠的查询(我将列命名为startTime和endTime,因为时间似乎很重要...):

WHERE 
<start> < endDate
AND
<end> > startDate
Run Code Online (Sandbox Code Playgroud)