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';

总结

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

相关文章

  • PHP中实现MySQL嵌套事务的两种解决方案

    PHP中实现MySQL嵌套事务的两种解决方案

    这篇文章主要介绍了PHP中实现MySQL嵌套事务的两种解决方案,本文分析了doctrine和laravel的实现方式,并提取出来分析和总结,需要的朋友可以参考下
    2015-02-02
  • 一文详解MySQL8.0的索引新特性

    一文详解MySQL8.0的索引新特性

    MySQL中的索引可以为提高我们的查询效率,相比较于低版本, MySQL 8.0中针对索引做了不少的优化,本文主要给大家分享一些MySQL8.0索引的新特性,希望大家可以在日常的开发中根据实际场景用起来
    2023-07-07
  • MySQL中基本的多表连接查询教程

    MySQL中基本的多表连接查询教程

    这篇文章主要介绍了MySQL中基本的多表连接查询教程,附带了JOIN的基本连接用法讲解,需要的朋友可以参考下
    2015-11-11
  • 获取MySQL数据表列信息的三种方法实现

    获取MySQL数据表列信息的三种方法实现

    本文介绍了获取MySQL数据表列信息的三种方法实现,包含SHOWCOLUMNS命令、DESCRIBE命令以及查询INFORMATION_SCHEMA.COLUMNS表,具有一定的参考价值,感兴趣的可以了解一下
    2024-12-12
  • 在Windows上使用ZIP包安装MySQL的详细步骤

    在Windows上使用ZIP包安装MySQL的详细步骤

    本文详细介绍了在Windows上使用官方ZIP包安装MySQL的步骤,包括下载、解压、配置环境变量、创建配置文件、初始化MySQL、安装服务、启动服务、登录并修改root密码以及验证连接,需要的朋友可以参考下
    2025-02-02
  • mysql unix准换时间格式查找指定日期数据代码

    mysql unix准换时间格式查找指定日期数据代码

    这篇文章主要介绍了mysql unix准换时间格式查找指定日期数据,需要的朋友可以参考下
    2014-03-03
  • MySql中的索引失效、回表解析问题

    MySql中的索引失效、回表解析问题

    这篇文章主要介绍了MySql中的索引失效、回表解析问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • MySQL从5.7升级到8.0的完整操作流程(小白也能看懂)

    MySQL从5.7升级到8.0的完整操作流程(小白也能看懂)

    MySQL 8.0 相比 5.7 引入了很多新特性和改进,但直接升级存在一定风险,所以本篇博客详细介绍如何安全地升级数据库,让你在宝塔环境下顺利完成操作,需要的朋友可以参考下
    2025-10-10
  • Mysql中JSON字段的值的实现示例

    Mysql中JSON字段的值的实现示例

    本文中介绍了如何通过SQL语句查询JSON字段中的特定数据,如查询数组中的元素,提取映射中的值,以及使用不同的JSON函数来处理数据,感兴趣的可以了解一下
    2024-09-09
  • 详解如何修改MySQL最大连接数

    详解如何修改MySQL最大连接数

    本文主要介绍了详解如何修改MySQL最大连接数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论