MySQL中如何使用DATE()函数截取日期

在MySQL中,使用DATE()函数可以直接从日期时间值中截取日期部分,这是处理时间数据时最常用且高效的方法之一,DATE()函数的作用是提取日期时间表达式中的日期部分,并返回格式为'YYYY-MM-DD'的结果,忽略时间信息,下面将详细说明其用法、示例及注意事项。

mysql date(如何截取日期,MySQL日期截取方法详解

基本语法

DATE(expr)

expr 是一个日期或日期时间表达式,如果输入为纯日期值,DATE()函数将原样返回;如果包含时间,则只保留日期部分。

使用示例

  1. 截取日期时间字段的日期部分
    假设有一张订单表 orders,其中包含字段 order_time(存储下单时间,格式如'2023-10-05 14:30:00'),要仅获取日期,可执行:

    SELECT DATE(order_time) AS order_date FROM orders;

    这将返回结果如'2023-10-05'。

  2. 处理当前日期时间
    结合NOW()函数获取当前日期:

    SELECT DATE(NOW()) AS today;

    输出示例:'2023-10-05'(根据当前日期变化)。

  3. 在WHERE子句中过滤日期
    查询2023年10月5日的所有订单:

    SELECT * FROM orders WHERE DATE(order_time) = '2023-10-05';

注意事项

  • 性能优化:在WHERE子句中使用DATE()函数可能导致索引失效,影响查询效率,建议对日期时间字段使用范围查询替代,
    SELECT * FROM orders WHERE order_time >= '2023-10-05 00:00:00' AND order_time < '2023-10-06 00:00:00';
  • 兼容性:DATE()函数在MySQL 4.0及以上版本均支持,是标准日期处理函数之一。
  • 其他类似函数:若需更灵活截取,可结合使用YEAR()、MONTH()、DAY()函数分别获取年、月、日。

DATE()函数是MySQL中截取日期的简洁工具,适用于数据提取、过滤和格式化场景,合理使用能提升数据处理的准确性,但需注意性能影响,尤其在大型数据库中。

未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网

原文地址:https://www.html4.cn/18046.html发布于:2026-09-20