0
我在MySQL中有一个时间分配表。在我推新记录之前,我需要检查它是否与现有日期和时间段重叠。如何检查表(mysql)中的时间分配重叠?
在DB示例数据如下
Start Date End Date | Start Time | End Time
2017-01-01 | 2017-01-01 | 10:00 | 11:00
2017-01-01 | 2017-01-01 | 08:00 | 09:00
2017-01-01 | 2017-01-02 | 01:00 | 02:00
的最后一个记录是指既2017年1月1日和2017年1月2日,小时,1时00分至02:00被分配在这两天。
下面是我将尝试推送的一些示例记录。预期结果显示为最后一列。 我需要运行查询并确保这些记录不会在数据库中重叠。
Start Date End Date | Start Time End Time
2017-01-01 | 2017-01-01 | 01:30 | 01:31 | OVERLAP
2017-01-02 | 2017-01-02 | 01:30 | 01:31 | OVERLAP
2017-01-01 | 2017-01-02 | 01:30 | 01:31 | OVERLAP
2017-01-01 | 2017-01-02 | 00:30 | 00:31 | PASS
2017-01-03 | 2017-01-03 | 00:30 | 00:31 | PASS
2016-12-30 | 2017-01-04 | 01:30 | 01:31 | OVERLAP
2016-12-30 | 2016-12-30 | 00:30 | 00:31 | PASS
我无法撰写满足所有条件的查询。 请帮助我检查重叠记录在db中,我的输入是$ start_date,$ end_date,$ start_time和$ end_time。
听起来像是你有一个查询satifies大多数或至少一些条件。你可以分享它。 – GolezTrol