Mysql 查詢時(shí)間段交集
使用場(chǎng)景
數(shù)據(jù)庫(kù)表有兩個(gè)字段starttime,endtime?,F(xiàn)在給出(a,b)的時(shí)間段,查出和(starttime,endtime)時(shí)間段有交集的數(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 查詢兩個(gè)時(shí)間段是否有交集的情況
數(shù)據(jù)庫(kù)的字段 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é)果相同。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Mysql兩表聯(lián)合查詢的四種情況總結(jié)
- MySQL查詢兩個(gè)日期之間記錄的方法
- MySql查詢時(shí)間段的方法
- MySql 按時(shí)間段查詢數(shù)據(jù)方法(實(shí)例說(shuō)明)