MySQL 中的 DATE_ADD 函数基本使用

1. 问题描述

每次用到 MySQL 关于时间的计算,都跑不了 DATE_ADD 函数,每次都得查,特此记录下,下次用时直接看。

MySQL 中的 DATE_ADD() 函数用于将一个时间间隔加到一个日期或时间值上。这个函数非常有用,特别是当你需要计算未来的日期或时间点时。

2. 基本语法

1
DATE_ADD(date, INTERVAL value unit)
  • date 是你想要添加时间间隔的原始日期或时间值。
  • INTERVAL 关键字指定了要添加的时间间隔。
  • value 是时间间隔的数量。
  • unit 是时间间隔的单位,可以是以下几种之一:
    • MICROSECOND(微秒)
    • SECOND(秒)
    • MINUTE(分钟)
    • HOUR(小时)
    • DAY(天)
    • WEEK(周)
    • MONTH(月)
    • QUARTER(季度)
    • YEAR(年)
    • SECOND_MICROSECOND(秒和微秒)
    • MINUTE_MICROSECOND(分钟和微秒)
    • MINUTE_SECOND(分钟和秒)
    • HOUR_MICROSECOND(小时和微秒)
    • HOUR_SECOND(小时和秒)
    • DAY_MICROSECOND(天和微秒)
    • DAY_SECOND(天和秒)
    • YEAR_MONTH(年和月)

3. 常用例子

(1)添加天数

1
SELECT DATE_ADD('2024-06-12', INTERVAL 10 DAY);

(2)添加小时

1
SELECT DATE_ADD('2024-06-12 14:30:00', INTERVAL 2 HOUR);

(3)添加分钟和秒

1
2
SELECT DATE_ADD('2024-06-12 14:30:00', INTERVAL 30 MINUTE);
SELECT DATE_ADD('2024-06-12 14:30:00', INTERVAL 5 SECOND);

(4)添加年和月

1
2
SELECT DATE_ADD('2024-06-12', INTERVAL 1 YEAR);
SELECT DATE_ADD('2024-06-12', INTERVAL 3 MONTH);

(5)添加复杂时间间隔(例如,1 天 3 小时 30 分钟):

1
SELECT DATE_ADD('2024-06-12', INTERVAL 1 DAY 3 HOUR 30 MINUTE);

请注意,当使用 DATE_ADD() 函数时,结果的日期和时间格式将取决于你的 MySQL 服务器的设置,包括时区和日期时间格式。