最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql之查詢兩個時間段是否有交集的情況

 更新時間:2023年08月30日 10:47:25   作者:小小初行者  
這篇文章主要介紹了mysql之查詢兩個時間段是否有交集的情況,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

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é)果相同

mysql時間段交集查詢

可訂房間的查詢邏輯(時間段沒有相交的時間段),這個sql可以直接扔到navicat運行校驗下

相交分為以下四種情況情況

drop table if EXISTS `test_date`;
CREATE TABLE `test_date` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `room_id` int(11) DEFAULT NULL COMMENT '房間id',
  `start_time` datetime DEFAULT NULL COMMENT '房態(tài)開始時間',
  `end_time` datetime DEFAULT NULL COMMENT '房態(tài)結(jié)束時間',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `test`.`test_date`(`id`, `room_id`, `start_time`, `end_time`) 
VALUES (1, 1, '2020-05-20 15:00:00', '2020-05-22 12:00:00');
INSERT INTO `test`.`test_date`(`id`, `room_id`, `start_time`, `end_time`) 
VALUES (2, 1, '2020-05-25 15:00:00', '2020-05-27 12:00:00');
-- 查詢?nèi)胱r間
set @s = '2020-05-18 23:59:59';
-- 查詢離店時間
set @e = '2020-05-21 00:00:00';
-- 這個sql查詢出來的話,是不合適的數(shù)據(jù),有重疊
select * from test_date
where 
(start_time <= @s and end_time >= @s)
or
(start_time <= @e and end_time >= @e)
or
(start_time >= @s and end_time <= @e)
or
(start_time <= @s and end_time >= @e);
-- 這個sql不加反,求出來的是合適的數(shù)據(jù),不重疊的數(shù)據(jù)
-- 取反,就是重疊的數(shù)據(jù),日期不符合規(guī)范的數(shù)據(jù),有相交的數(shù)據(jù)
select * from test_date
where
!(start_time >= @e or end_time <= @s);

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL實戰(zhàn)之Insert語句的使用心得

    MySQL實戰(zhàn)之Insert語句的使用心得

    這篇文章主要給大家介紹了關(guān)于MySQL實戰(zhàn)之Insert語句的使用心得的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Mysql自帶profiling性能分析工具使用分享

    Mysql自帶profiling性能分析工具使用分享

    Mysql自帶profiling性能分析工具使用分享,需要的朋友可以參考下
    2012-11-11
  • Mysql中 show table status 獲取表信息的方法

    Mysql中 show table status 獲取表信息的方法

    這篇文章主要介紹了Mysql中 show table status 獲取表信息的方法的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • mySQL 延遲 查詢主表

    mySQL 延遲 查詢主表

    在主外鍵表存在關(guān)系的時候如果加上"lazy=true"的話,則表明延遲,即只查詢主表中的內(nèi)容,而不查詢外鍵表中的內(nèi)容。
    2009-09-09
  • MySQL分表和分區(qū)的具體實現(xiàn)方法

    MySQL分表和分區(qū)的具體實現(xiàn)方法

    這篇文章主要介紹了MySQL分表和分區(qū)的具體實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-06-06
  • 解決mysql數(shù)據(jù)庫導(dǎo)入sql文件不成功的問題

    解決mysql數(shù)據(jù)庫導(dǎo)入sql文件不成功的問題

    這篇文章主要介紹了解決mysql數(shù)據(jù)庫導(dǎo)入sql文件不成功的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • SQL的substring_index()用法實例(MySQL字符串截取)

    SQL的substring_index()用法實例(MySQL字符串截取)

    substring_index?(字符串,分隔符,序號),主要作用是用于截取目標(biāo)字符串,下面這篇文章主要給大家介紹了關(guān)于SQL中substring_index()用法(MySQL字符串截取)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • MySQL中的鎖和MVCC機制解讀

    MySQL中的鎖和MVCC機制解讀

    MySQL事務(wù)、鎖和MVCC機制是確保數(shù)據(jù)庫操作原子性、一致性和隔離性的關(guān)鍵,事務(wù)必須遵循ACID原則,鎖的類型包括表級鎖、行級鎖和意向鎖,MVCC通過非鎖定讀和鎖定讀實現(xiàn)并發(fā)控制,幻讀和死鎖是并發(fā)事務(wù)中常見的問題,可以通過預(yù)防策略和優(yōu)化技巧解決
    2025-01-01
  • MySQL?中MATCH?全文搜索關(guān)鍵字示例詳解

    MySQL?中MATCH?全文搜索關(guān)鍵字示例詳解

    這篇文章主要介紹了MySQL?中MATCH?全文搜索關(guān)鍵字詳解,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-09-09
  • SQL創(chuàng)建視圖的注意事項及說明

    SQL創(chuàng)建視圖的注意事項及說明

    這篇文章主要介紹了SQL創(chuàng)建視圖的注意事項及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論

镇沅| 福建省| 阳高县| 楚雄市| 中超| 白城市| 顺平县| 章丘市| 和平县| 渝北区| 乌恰县| 拜城县| 赤峰市| 漳浦县| 五常市| 枣强县| 台东市| 津市市| 北票市| 成都市| 济阳县| 永寿县| 崇左市| 健康| 漯河市| 陇西县| 江油市| 临西县| 潜山县| 眉山市| 沿河| 绥阳县| 繁峙县| 宜良县| 定陶县| 介休市| 嘉荫县| 龙川县| 临潭县| 项城市| 昌都县|