首页 > 数据库 > mysql教程 > 如何检测 MySQL 中重叠的日期范围?

如何检测 MySQL 中重叠的日期范围?

DDD
发布: 2024-12-13 15:28:11
原创
847 人浏览过

How to Detect Overlapping Date Ranges in MySQL?

确定 MySQL 中的重叠日期范围

要确定给定表中冲突的日期范围,请考虑使用以下内容的定制查询criteria:

WHERE new_start < existing_end AND new_end > existing_start
登录后复制

其中:

  • new_start 和 new_end 表示要插入的新会话的日期范围
  • existing_start 和命题_end 表示要插入的新会话的日期范围现有会话

此查询有效地识别与建议的新会话相交的日期范围会话,与原始查询相比,提供了更精细的结果。

这是查询的更新版本:

SELECT *
FROM session
WHERE "2010-01-05" < end_date AND "2010-01-25" > start_date;
登录后复制

此查询仅返回冲突的会话,忽略不重叠的会话:

+----+------------+------------+
| id | start_date | end_date   |
+----+------------+------------+
|  2 | 2010-01-20 | 2010-01-30 |
+----+------------+------------+
登录后复制

修改后的查询可确保仅识别重叠会话,从而为冲突检测提供更精确的结果。

以上是如何检测 MySQL 中重叠的日期范围?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板