MySQL判断时间段是否重合的两种方法
更新时间:2022年07月08日 09:56:55 作者:小旭2021
这篇文章介绍了MySQL判断时间段是否重合的两种方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
两种写法。如图,4种重合情况和2种不重合情况。

第一种写法:
-- 时间段 a,b
SELECT * FROM table WHERE
(start_time >= a and end_time <= b) -- 被包含了
or (end_time >= a and end_time <=b)
or (start_time >= a and start_time <=b)
or (start_time <= a and end_time >=b)解析:where后的4个条件分别代表了图中4种重合的情况。
但是第一种情况被2和3包含了,所以简化一下写法:
SELECT * FROM table WHERE
(end_time >= a and end_time <=b)
or (start_time >= a and start_time <=b)
or (start_time <= a and end_time >=b);第二种写法:
SELECT * FROM table WHERE not (start_time > b or end_time < a);
到此这篇关于MySQL判断时间段是否重合的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
MySQL 使用 Performance Schema 定位和解决慢
本文介绍了如何使用MySQL的PerformanceSchema来定位和解决慢SQL查询问题,通过启用PerformanceSchema并分析相关的系统表,可以收集到详细的性能数据,从而识别出影响性能的SQL语句,优化策略包括优化查询语句、调整数据库配置等2025-02-02
MySQL提示The InnoDB feature is disabled需要开启InnoDB的解决方法
这篇文章主要介绍了MySQL提示The InnoDB feature is disabled需要开启InnoDB的解决方法,简单分析了MySQL数据库开启InnoDB引擎的实现技巧,需要的朋友可以参考下2016-01-01
MySQL中lower_case_table_names作用及使用小结
在使用DataEase连接外部数据库时,可能会遇到启动报错的问题,官方文档指出,修改数据库配置文件中的lower_case_table_names=1参数可以解决此问题,此参数控制表名大小写敏感性,感兴趣的可以了解一下2024-09-09


最新评论