Mysql 如何查詢時間段交集
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)
)
兩種結果相同。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
MyEclipse連接MySQL數(shù)據(jù)庫報錯解決辦法
我們現(xiàn)在一般網(wǎng)站都是利用的MySQL數(shù)據(jù)庫搭建網(wǎng)站的,但是在網(wǎng)上看到很多網(wǎng)友吐槽數(shù)據(jù)庫連接不上的問題,現(xiàn)在我就結合相關資料向提出一些我個人的見解,希望對大家解決問題有幫助2014-01-01
MySQL中CREATE DATABASE語句創(chuàng)建數(shù)據(jù)庫的示例
在MySQL中,可以使用CREATE DATABASE語句創(chuàng)建數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-09-09
MySQL索引背后的數(shù)據(jù)結構及算法原理詳解
本文以MySQL數(shù)據(jù)庫為研究對象,討論與數(shù)據(jù)庫索引相關的一些話題。特別需要說明的是,MySQL支持諸多存儲引擎,而各種存儲引擎對索引的支持也各不相同,因此MySQL數(shù)據(jù)庫支持多種索引類型,如BTree索引,哈希索引,全文索引等等2016-12-12
MySQL不使用order by實現(xiàn)排名的三種思路總結
ORDER BY語句用于根據(jù)指定的列對結果集進行排序,在日常開發(fā)中也經(jīng)常會用到,但下面這篇文章主要給大家介紹了關于MySQL不使用order by實現(xiàn)排名的三種思路,需要的朋友可以參考下2021-06-06
MySQL高效模糊搜索之內(nèi)置函數(shù)locate instr position find_in_set使用詳解
在MySQL中一般進行模糊搜索都是使用LIKE配合通配符進行查詢的,在性能上一定的影響,下面給大家分享MYSQL自帶的內(nèi)置模糊搜索函數(shù),除最后一個外其它三個性能上要比Like快些2018-09-09

