如何在mysql中使用DATE函数_mysql日期函数操作方法

来源:这里教程网 时间:2026-02-28 20:27:56 作者:

在MySQL中处理日期和时间是日常开发中的常见需求。DATE函数及相关日期操作函数可以帮助你提取、格式化、计算和比较日期数据。下面介绍几种常用的MySQL日期函数使用方法,帮助你高效处理日期类型字段。

提取日期部分

如果你有一个DATETIME或TIMESTAMP类型的字段,但只想获取其中的日期部分(即去掉时间),可以使用DATE()函数。

语法: DATE(expression)

例如,从当前时间提取日期:

SELECT DATE(NOW()); -- 输出:2025-04-05

或者从表中某个时间字段提取日期:

SELECT DATE(create_time) FROM orders; -- 返回每条记录的创建日期

日期格式化输出

使用DATE_FORMAT()函数可以将日期按照指定格式显示,适合报表或界面展示。

语法: DATE_FORMAT(date, format)

常用格式符:

%Y:四位年份(如2025) %m:两位月份(01-12) %d:两位日期(01-31) %H:小时(00-23) %i:分钟(00-59) %s:秒(00-59)

示例:

SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日'); -- 输出:2025年04月05日

SELECT DATE_FORMAT(create_time, '%Y-%m-%d') FROM logs;

日期计算与增减

MySQL提供DATE_ADD()和DATE_SUB()函数用于对日期进行加减操作。

语法: DATE_ADD(date, INTERVAL expr unit)

示例:

SELECT DATE_ADD(NOW(), INTERVAL 7 DAY); -- 当前时间加7天 SELECT DATE_SUB('2025-04-05', INTERVAL 1 MONTH); -- 减去一个月 SELECT NOW() + INTERVAL 2 HOUR; -- 简写方式,加2小时

支持的单位包括:SECOND、MINUTE、HOUR、DAY、MONTH、YEAR等。

日期比较与条件查询

在WHERE子句中可以直接使用日期函数进行范围查询或条件筛选。

示例:

SELECT * FROM orders WHERE DATE(create_time) = '2025-04-05'; -- 查询某天的数据 SELECT * FROM logs WHERE create_time >= DATE_SUB(NOW(), INTERVAL 24 HOUR); -- 过去24小时内的记录 SELECT * FROM users WHERE birthday BETWEEN '1990-01-01' AND '1999-12-31';

基本上就这些。掌握DATE()、DATE_FORMAT()、DATE_ADD/SUB以及日期比较方法,就能应对大多数日期操作场景。注意字段索引优化,避免在日期字段上频繁使用函数导致索引失效。不复杂但容易忽略。

相关推荐