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

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

时间:2024-11-28 11:22:52浏览次数:17  
标签:index epr 查询 substring 日期 MySQL realStartTime 范围

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

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

mysql 查询解决方案

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

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. 给定范围结束时间在时间值范围内

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

标签:index,epr,查询,substring,日期,MySQL,realStartTime,范围
From: https://www.cnblogs.com/akweb/p/18573930

相关文章

  • mysql postgresql with 案例
    场景假设假设我们有两张表:sales表:记录了每个产品的销售数量product_id(产品ID)quantity(销售数量)products表:记录了每个产品的详细信息product_id(产品ID)product_name(产品名称)我们的目标是计算每个产品销售数量占总销售量的百分比。 ROUND(expressio......
  • prometheus 问题排查 grafana页面信息查询不全
    目录prometheus问题排查grafana页面信息查询不全问题描述问题排查prometheus问题排查grafana页面信息查询不全问题描述登录客户生产环境,grafana监控redis集群的页面,应该有6个节点,但是现在每次刷新,只能出现2-3个节点的信息,有的时候甚至一个节点信息都没有。问题排查首先登......
  • JAVA开源毕业设计 渔具租赁系统 Vue.JS+SpringBoot+MySQL
    本文项目编号T005,文末自助获取源码\color{red}{T005,文末自助获取源码}......
  • JAVA开源毕业设计 历史学习网站 Vue.JS+SpringBoot+MySQL
    本文项目编号T004,文末自助获取源码\color{red}{T004,文末自助获取源码}......
  • JAVA开源毕业设计 加油站管理系统 Vue.JS+SpringBoot+MySQL
    本文项目编号T003,文末自助获取源码\color{red}{T003,文末自助获取源码}......
  • 基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现十一
    一、前言介绍:免费学习:猿来入此1.1项目摘要主要源于互联网技术的快速发展和电子商务的普及。随着网络技术的不断进步,人们越来越依赖于互联网进行购物、交易和沟通。电子商务的兴起为在线拍卖提供了广阔的市场和便利的条件。在线拍卖系统通过搭建一个虚拟的拍卖平台,将传统的拍卖......
  • 基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现十二
    一、前言介绍:免费学习:猿来入此1.1项目摘要主要源于互联网技术的快速发展和电子商务的普及。随着网络技术的不断进步,人们越来越依赖于互联网进行购物、交易和沟通。电子商务的兴起为在线拍卖提供了广阔的市场和便利的条件。在线拍卖系统通过搭建一个虚拟的拍卖平台,将传统的拍卖......
  • datax MySql --> Hive实现
    配置文件{"job":{"setting":{"speed":{"channel":3},"errorLimit":{"record":0,"percentag......
  • MySQL原理简介—12.MySQL主从同步
    大纲1.异步复制为MySQL搭建一套主从复制架构2.半同步复制为MySQL搭建一套主从复制架构3.GTID为MySQL搭建一套主从复制架构4.并行复制降低主从同步延迟或强制读主库 1.异步复制为MySQL搭建一套主从复制架构(1)MySQL主从复制的原理(2)搭建主从复制架构的配置 (1)MySQL主......
  • MySQL原理简介—11.优化案例介绍
    大纲1.禁止或改写SQL避免自动半连接优化2.指定索引避免按聚簇索引全表扫描大表3.按聚簇索引扫描小表减少回表次数4.避免产生长事务长时间执行 1.禁止或改写SQL避免自动半连接优化(1)业务场景介绍(2)SQL性能问题分析(3)SQL性能调优 (1)业务场景介绍某互联网公司的用......