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.
用于选择重叠的查询(我将列命名为startTime和endTime,因为时间似乎很重要...):
WHERE
<start> < endDate
AND
<end> > startDate
Run Code Online (Sandbox Code Playgroud)