当前位置: 代码网 > it编程>数据库>Mysql > mysql DATE_ADD函数用法举例

mysql DATE_ADD函数用法举例

2025年08月16日 Mysql 我要评论
mysql 中date_add()函数的用法详解date_add()是 mysql 中用于日期时间计算的核心函数,可对日期或时间进行加减操作。以下是完整用法说明:基本语法date_add(date,

mysql 中date_add()函数的用法详解

date_add()是 mysql 中用于日期时间计算的核心函数,可对日期或时间进行加减操作。以下是完整用法说明:

基本语法

date_add(date, interval value unit)

  • date:要操作的日期或时间值(如'2025-06-23'、now())。
  • value:要添加的数值(正数为加,负数为减)。
  • unit:时间单位,支持以下关键字:
  • year(年)、month(月)、day(日)、hour(时)、minute(分)、second(秒)、week(周)、quarter(季度)等。

常见示例

1.添加年 / 月 / 日

-- 给当前日期加1年
select date_add(now(), interval 1 year); -- 输出:2026-06-23 20:36:00
-- 给指定日期减3个月
select date_add('2025-06-23', interval -3 month); -- 输出:2025-03-23
-- 给时间加15天
select date_add('2025-06-23 12:00:00', interval 15 day); -- 输出:2025-07-08 12:00:00

2.同时操作多个单位

-- 加1年2个月3天
select date_add('2025-06-23', interval '1-2-3' year_month_day); -- 输出:2026-08-26
-- 减1小时30分钟
select date_add(now(), interval '-1:30' hour_minute);

3.结合字段使用(如 update 语句)

-- 将所有订单的过期时间延长7天
update orders
set expire_time = date_add(expire_time, interval 7 day)
where status = 'pending';
-- 将2025年的日期全部改为2024年(保留月日时分秒)
update your_table
set pay_time = date_add(pay_time, interval (2024 - year(pay_time)) year)
where year(pay_time) = 2025;

注意事项

  1. 负数表示减法
-- 等同于 date_sub() 函数
select date_add(now(), interval -1 day); -- 昨天
select date_sub(now(), interval 1 day); -- 效果相同
  1. 自动处理进位 / 退位
-- 月末日期进位
select date_add('2025-01-31', interval 1 month); -- 输出:2025-02-28(自动处理非闰年)
-- 闰年2月29日退位
select date_add('2024-02-29', interval 1 year); -- 输出:2025-02-28
  1. 时间单位缩写
  • microsecond(微秒)
  • day_hour(天 + 时)
  • day_minute(天 + 分)
  • day_second(天 + 秒)
  • hour_minute(时 + 分)
  • hour_second(时 + 秒)
  • minute_second(分 + 秒)

与其他日期函数对比

函数

作用

示例

date_add()

日期时间加减

date_add(now(), interval 1 day)

date_sub()

日期时间减法(等同于 date_add 负数)

date_sub(now(), interval 1 day)

datediff()

计算两个日期的天数差

datediff('2025-06-23', '2025-01-01') → 173

timestampdiff()

计算两个日期的指定单位差(如小时、分钟)

timestampdiff(hour, '2025-06-23 10:00', '2025-06-23 12:30') → 2.5

常见场景

  • 计算未来 / 过去的日期:如活动倒计时、会员过期提醒。
  • 批量修改日期字段:如将 2025 年数据改为 2024 年。
  • 生成时间序列:如生成未来 30 天的日期列表。

掌握date_add()函数可以灵活处理 mysql 中的日期时间计算需求!

到此这篇关于mysql date_add函数用法举例的文章就介绍到这了,更多相关mysql date_add用法内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com