我正在检测时间冲突,但我被困在天冲突中。这是我的表
INSERT INTO yourTable (starttime, endtime, day)
VALUES
('09:00:00', '11:00:00', 'MT'),
('10:00:00', '12:00:00', 'M'),
('06:00:00', '10:00:00', 'MTW'),
('06:00:00', '10:00:00', 'ThFS'),
('11:00:00', '12:00:00', 'S'),
('15:00:00', '16:00:00', 'F'),
('06:00:00', '09:00:00', 'M');
这是查询
SELECT DISTINCT
t1.starttime,
t1.endtime,
t1.day
FROM yourTable t1
LEFT JOIN yourTable t2
ON
(t1.starttime > t2.starttime AND t1.starttime < t2.endtime) OR
(t1.endtime > t2.starttime AND t1.endtime < t2.endtime)
WHERE
t2.starttime IS NOT NULL;
结果
starttime endtime day
09:00:00 11:00:00 MT
10:00:00 12:00:00 M
06:00:00 10:00:00 MTW
06:00:00 10:00:00 ThFS
11:00:00 12:00:00 S
06:00:00 09:00:00 M
应该是
starttime endtime day
09:00:00 11:00:00 MT
10:00:00 12:00:00 M
06:00:00 10:00:00 MTW
06:00:00 09:00:00 M
我正在尝试MATCH AGAINST
,但结果并不好。谢谢您的帮助。
顺便说一句:我尝试使用LIKE,但仍然无法在MTW和TTh天工作。
答案 0 :(得分:0)
解决。感谢BitAccesser。我将天数转换为数字然后通过php,我使用similar_text函数来比较结果。