MySQL DATE_ADD 函数

MySQL DATE_ADD 函数有助于对日期值执行算术运算。或者说,它将用户指定的间隔添加到给定日期,并返回日期或日期时间。

在本文中,我们将通过一个示例展示如何使用 DATE_ADD 函数将指定的间隔添加到给定的日期表达式中。

MySQL DATE_ADD 语法

DATE_ADD 函数的基本语法是:

DATE_ADD(Date, INTERVAL expression Unit);
  • Date:它接受字符串格式的 DateTime 值或日期。
  • Expression:您需要指定要添加的值或单位数。例如,2 DAY 表示添加两天。此参数接受负值表示负间隔。
  • Unit:它接受从 Microsecond 到 Year 的单位值。

MySQL DATE_ADD 函数示例

以下是示例列表。下面的查询有助于您理解 DATE_ADD 函数的用法。

在此 DATE_ADD 示例中,我们将 1000 微秒、30 秒和 12 分钟添加到给定的 Datetime (2018-12-31 23:30:15.000010)。

提示:我建议您参考 Date method 文章,以了解 MySQL Interval 之后的 Units。

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL 1000 MICROSECOND);

SELECT DATE_ADD('2018-12-31 23:30:15', INTERVAL 30 SECOND);

SELECT DATE_ADD('2018-12-31 23:30:15', INTERVAL 12 MINUTE);
DATE_ADD Function 1

MySQL DATE_ADD 函数示例 2

在此示例中,首先,我们添加了 12 小时。接下来,我们将 30 天添加到给定的 Datetime 表达式。在第三个语句中,我们添加了 12 周。

SELECT DATE_ADD('2018-12-31 23:30:15', INTERVAL 12 HOUR);

SELECT DATE_ADD('2018-12-31 23:30:15', INTERVAL 30 DAY);

SELECT DATE_ADD('2018-12-31 23:30:15', INTERVAL 12 WEEK);
Add Hours, Days, and Weeks to Date 2

示例 3

在此 DATE_ADD 函数示例中,我们将 12 个月、3 个季度和 6 年添加到给定的 Datetime 表达式。

SELECT DATE_ADD('2018-12-31 23:30:15', INTERVAL 12 MONTH);

SELECT DATE_ADD('2018-12-31 23:30:15', INTERVAL 3 QUARTER);

SELECT DATE_ADD('2018-12-31 23:30:15', INTERVAL 6 YEAR);
DATE_ADD Example 3

这里,首先,我们添加了 33 秒和 10000 微秒。第二个语句添加了 15 分钟、30 秒和 10005 微秒。第三个语句将 12 分钟和 34 秒添加到给定的 DateTime。

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL '33.10000' SECOND_MICROSECOND);

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL '15.30.10005' MINUTE_MICROSECOND);

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL '12.34' MINUTE_SECOND);
Add Microseconds to Date 4

MySQL DATE_ADD 示例 5

在此 DATE_ADD 函数示例中,首先,我们添加了 10 小时、11 分钟、19 秒和 11005 微秒。第二个语句添加了 20 小时、10 分钟和 11 秒。第三个语句将 22 小时和 09 分钟添加到给定的 DateTime。

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL '10:11.19.11005' HOUR_MICROSECOND);

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL '20:10.11' HOUR_SECOND);

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL '22:09' HOUR_MINUTE);
Example 5

我们添加了 31 天、10 小时、11 分钟、19 秒和 11005 微秒。第二个语句添加了 31 天、10 小时、11 分钟和 19 秒。第三个语句将 60 天、20 小时和 19 分钟添加到给定的 DateTime。

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL ' 31 10:11.19.11005' DAY_MICROSECOND);

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL ' 31 10:11.19' DAY_SECOND);

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL ' 60 20:19' DAY_MINUTE);
INTERVAL, DAY_SECOND, DAY_MINNUTE Example 6

在这里,我们将 06 年添加到给定的 DateTime 值。

SELECT DATE_ADD('2018-12-31 23:30:15.000010', INTERVAL '06-12' YEAR_MONTH);

SELECT DATE_ADD('2018-12-31 23:30:15', INTERVAL '06-12' YEAR_MONTH);
DATE_ADD Function 7