MySQL中DATE_ADD()函数用法详解

蓝鲸
蓝鲸
发布时间:2026-10-15| 5人浏览过
原创

DATE_ADD()是MySQL中用于日期计算的常用函数,可向指定日期添加时间间隔。本文解析其语法结构,并提供单单位与多单位叠加的时间增减实操案例。

DATE_ADD()函数语法说明

在MySQL查询中,DATE_ADD()常用于在不修改原表数据的前提下,对查询结果中的日期类型进行逻辑上的加减处理。其基本语法如下:

DATE_ADD(date, INTERVAL expr unit)
  • date:合法的日期表达式或时间字段,例如 '2020-05-21 14:43:52'。
  • INTERVAL:固定关键字,标志这是一个区间操作。
  • expr:数值型表达式,表示时间间隔的数量。正数表示增加,负数表示减少。
  • unit(即type):时间单位,定义expr的量级。常用单位包括:
  • SECOND:秒
  • MINUTE:分
  • HOUR:时
  • DAY:天
  • WEEK:周
  • MONTH:月
  • QUARTER:季度
  • YEAR:年

基础时间加减操作

以下示例展示了基于当前系统时间使用NOW()函数进行不同单位的增减操作:

第1步:增加小时

将当前时间增加1小时:

SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR);

第2步:增加天数

将当前时间增加1天:

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);

第3步:减少小时

利用负数将当前时间减少72小时(即3天前):

SELECT DATE_ADD(NOW(), INTERVAL -72 HOUR);

第4步:高级组合用法

虽然可以通过分别指定单位来实现复杂加减,但MySQL也支持将多个时间单位合并为一个字符串表达式。例如“增加1天1小时1分1秒”可以写作 '1 1:1:1' 配合 DAY_SECOND 单位:

SELECT DATE_ADD(NOW(), INTERVAL '1 1:1:1' DAY_SECOND);

多重时间间隔叠加计算

当需要同时增加多个不同的时间单位(如同时加月和天)时,由于标准DATE_ADD()每次只能接受一个Unit参数,通常采用嵌套调用的方式实现。

实战场景:查找 score_expend 表中,创建时间(create_time) 加上 3个月4天 后,结果小于等于今天的数据。

操作逻辑是先内层增加3个月,外层在此基础上增加4天,最后用 DATE() 提取日期部分与今日比较:

SELECT * FROM score_expend 
WHERE DATE( 
   DATE_ADD( 
      DATE_ADD(create_time, INTERVAL 3 MONTH) , INTERVAL 4 DAY)  
   ) <= DATE(NOW());

此方法通过两次调用 DATE_ADD 实现了非单一单位的复合时间推算。

总结

以上就是MySQL中DATE_ADD()函数处理日期时间的详细内容。掌握单步加减与嵌套叠加技巧,可有效应对数据库中复杂的日期筛选需求。更多关于MySQL日期函数的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。