Tag: 重叠匹配

检查MySQL中date范围的重叠

此表用于存储会话(事件): CREATE TABLE session ( id int(11) NOT NULL AUTO_INCREMENT , start_date date , end_date date ); INSERT INTO session (start_date, end_date) VALUES ("2010-01-01", "2010-01-10") , ("2010-01-20", "2010-01-30") , ("2010-02-01", "2010-02-15") ; 我们不想在范围之间有冲突。 假设我们需要在2010-01-05到2010-01-25之间插入一个新的会话。 我们想知道有冲突的会议。 这是我的查询: SELECT * FROM session WHERE "2010-01-05" BETWEEN start_date AND end_date OR "2010-01-25" BETWEEN start_date AND end_date OR "2010-01-05" >= […]