8
检查MySQL中日期范围的重叠
该表用于存储会话(事件): 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 …