MySQL如何根据日期筛选数据

 更新时间:2026年01月14日 09:18:34   作者:小憨憨的牛  
在MySQL中,根据日期筛选数据时,需要解决日期格式不一致的问题,本文介绍了四种常见场景的解决方案:基本日期筛选、处理不同日期格式、使用日期函数筛选以及处理时间部分

在MySQL中根据日期筛选数据时,经常会遇到日期格式不一致的问题。以下是几种常见场景的解决方案

1. 基本日期筛选

-- 筛选特定日期的数据(假设date_column是DATE或DATETIME类型)
SELECT * FROM table_name 
WHERE date_column = '2023-10-25';

-- 筛选日期范围内的数据
SELECT * FROM table_name 
WHERE date_column BETWEEN '2023-10-01' AND '2023-10-31';

2. 处理不同日期格式

-- 将字符串转为日期(适用于各种格式)
SELECT * FROM table_name 
WHERE STR_TO_DATE(date_string_column, '%Y-%m-%d') = '2023-10-25';

-- 或者使用DATE函数(适用于DATETIME/TIMESTAMP)
SELECT * FROM table_name 
WHERE DATE(datetime_column) = '2023-10-25';

3. 日期函数筛选

-- 筛选今天的数据
SELECT * FROM table_name 
WHERE DATE(date_column) = CURDATE();

-- 筛选本月数据
SELECT * FROM table_name 
WHERE YEAR(date_column) = YEAR(CURDATE()) 
AND MONTH(date_column) = MONTH(CURDATE());

-- 筛选最近7天的数据
SELECT * FROM table_name 
WHERE date_column >= DATE_SUB(CURDATE(), INTERVAL 7 DAY);

4. 处理时间部分

-- 忽略时间部分进行比较
SELECT * FROM table_name 
WHERE DATE(datetime_column) = '2023-10-25';

-- 按时间部分筛选
SELECT * FROM table_name 
WHERE TIME(datetime_column) BETWEEN '09:00:00' AND '17:00:00';

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL使用ReplicationConnection导致连接失效解决

    MySQL使用ReplicationConnection导致连接失效解决

    这篇文章主要为大家介绍了MySQL使用ReplicationConnection导致连接失效问题分析解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • mysql WITH RECURSIVE语法的具体使用

    mysql WITH RECURSIVE语法的具体使用

    WITH RECURSIVE是一个用于创建递归查询的语句,本文主要介绍了mysql WITH RECURSIVE语法的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • MySQL配置SSL并修改JDBC连接配置过程

    MySQL配置SSL并修改JDBC连接配置过程

    本文介绍了如何使用OpenSSL创建SSL证书和私钥,以及如何在MySQL中配置SSL以支持安全连接,此外,还详细说明了如何在Java中使用JDBC配置SSL连接
    2025-11-11
  • mysql5.7.19 zip 详细安装过程和配置

    mysql5.7.19 zip 详细安装过程和配置

    本文详细给大家介绍了mysql5.7.19 zip 详细安装过程和配置,感兴趣的朋友一起看看吧
    2017-10-10
  • MySQL中的锁和MVCC机制解读

    MySQL中的锁和MVCC机制解读

    MySQL事务、锁和MVCC机制是确保数据库操作原子性、一致性和隔离性的关键,事务必须遵循ACID原则,锁的类型包括表级锁、行级锁和意向锁,MVCC通过非锁定读和锁定读实现并发控制,幻读和死锁是并发事务中常见的问题,可以通过预防策略和优化技巧解决
    2025-01-01
  • MySQL Router高可用搭建问题处理小结

    MySQL Router高可用搭建问题处理小结

    MySQL MGR在数据库层面实现自主高可用性,而MySQL Router则负责代理访问,这篇文章主要介绍了MySQL Router高可用搭建问题小结,需要的朋友可以参考下
    2023-06-06
  • Mysql删除数据以及数据表的方法实例

    Mysql删除数据以及数据表的方法实例

    这篇文章主要给大家介绍了关于Mysql删除数据以及数据表的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • MySQL执行过程中选择最佳的执行路径的方法(核心流程)

    MySQL执行过程中选择最佳的执行路径的方法(核心流程)

    文章介绍MySQL查询优化器如何通过解析、生成执行计划及成本评估选择最佳路径,依赖统计信息如表行数和索引基数,开发者需创建索引、更新统计信息、优化SQL写法及使用EXPLAIN工具辅助优化,感兴趣的朋友跟随小编一起看看吧
    2025-09-09
  • MySql5.5忘记root密码怎么办

    MySql5.5忘记root密码怎么办

    使用mysql5.5,突然root密码忘记,怎么也登录不了,很急人,该怎么解决呢?下面通过本文给大家介绍mysql5.5忘记root密码的解决办法,需要的朋友参考下吧
    2016-01-01

最新评论