Mysql 查詢時間段交集
使用場景
數(shù)據(jù)庫表有兩個字段starttime,endtime?,F(xiàn)在給出(a,b)的時間段,查出和(starttime,endtime)時間段有交集的數(shù)據(jù)。
sql
select * from TABLENAME where
(starttime > a AND starttime b) OR
(starttime a AND endtime > b) OR
(endtime > a AND endtime b) OR
(starttime = a AND endtime = b);
Mysql 查詢兩個時間段是否有交集的情況
數(shù)據(jù)庫的字段 start_time, end_time
輸入的字段 a,b
第一種
SELECT * FROM test_table
WHERE
(start_time >= a AND start_time = b)
OR (start_time = a AND end_time >= b)
OR (end_time >= a AND end_time = b)
第二種
SELECT * FROM test_table
WHERE
NOT (
(end_time a
OR (start_time > b)
)
兩種結(jié)果相同。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Mysql兩表聯(lián)合查詢的四種情況總結(jié)
- MySQL查詢兩個日期之間記錄的方法
- MySql查詢時間段的方法
- MySql 按時間段查詢數(shù)據(jù)方法(實(shí)例說明)