如何在 MySQL 中针对包含多个日期值的字段进行特定日期范围查询?

心靈之曲
发布: 2024-11-12 15:00:39
原创
846人浏览过

如何在 mysql 中针对包含多个日期值的字段进行特定日期范围查询?

在存在多个日期值的同个字段中进行特定日期范围查询

在数据库中,某些字段可能存在多个日期值,例如:"2022-09-14 11:38:21,2022-09-14 18:00:00"。通常情况下,查询这类字段时,只能通过简单的范围查询来获取特定日期内的数据,而无法针对分割后的时间范围进行查询。

mysql 查询解决方案

要实现针对分割后时间范围的查询,需要将该字段中的每个时间作为一个独立条件进行判断。以下是一个使用 substring_index() 函数来实现此目的的 mysql 查询示例:

MagicStudio
MagicStudio

图片处理必备效率神器!为你的图片提供神奇魔法

MagicStudio 102
查看详情 MagicStudio
select
    epr.*
from
    event_plan_record epr
where
    substring_index(epr.realStartTime, ',', 1) BETWEEN #{startDate} AND #{endDate}
    or substring_index(epr.realStartTime, ',', -1) BETWEEN #{startDate} AND #{endDate}
    or #{startDate} BETWEEN substring_index(epr.realStartTime, ',', 1) AND substring_index(epr.realStartTime, ',', -1)
    or #{endDate} BETWEEN substring_index(epr.realStartTime, ',', 1) AND substring_index(epr.realStartTime, ',', -1)
order by epr.realStartTime desc
limit #{page},#{count};
登录后复制

这个查询判断了四种可能的情况:

  1. 第一个分割的时间值在给定范围内
  2. 最后一个分割的时间值在给定范围内
  3. 给定范围开始时间在时间值范围内
  4. 给定范围结束时间在时间值范围内

如果满足任何一种情况,查询将返回该记录,并且只返回符合条件的记录中最新的一条。

以上就是如何在 MySQL 中针对包含多个日期值的字段进行特定日期范围查询?的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号