在 MariaDB 中从日期值中减去一年

本文给出了一个在 MariaDB 中从一个给定的日期种减去一年的示例。

发布于

在 MariaDB 中,要从一个日期中减去一年,您可以使用 SUBDATE() 函数或者减法运算符。

下面给出了几个示例。

示例 1:SUBDATE() 函数

下面的语句使用 SUBDATE() 函数从一个指定日期减去 1 年:

SELECT SUBDATE('2022-12-13', INTERVAL 1 YEAR);

输出:

+----------------------------------------+
| SUBDATE('2022-12-13', INTERVAL 1 YEAR) |
+----------------------------------------+
| 2021-12-13                             |
+----------------------------------------+

下面的语句使用 SUBDATE() 函数从当前日期减去 1 年:

SELECT SUBDATE(CURDATE(), INTERVAL 1 YEAR);

输出:

+-------------------------------------+
| SUBDATE(CURDATE(), INTERVAL 1 YEAR) |
+-------------------------------------+
| 2021-12-13                          |
+-------------------------------------+

这里, INTERVAL 1 YEAR 表示 1 年。如果您想减去多年,比如 10 年,您只需要将 1 更改为 10,如下:

SELECT SUBDATE(CURDATE(), INTERVAL 10 YEAR);

输出:

+--------------------------------------+
| SUBDATE(CURDATE(), INTERVAL 10 YEAR) |
+--------------------------------------+
| 2012-12-13                           |
+--------------------------------------+

示例 2:DATE_SUB() 函数

DATE_SUB() 函数与 SUBDATE 函数用法完全相同。

下面的语句使用 DATE_SUB() 函数从一个指定日期减去 1 年:

SELECT DATE_SUB('2022-12-13', INTERVAL 1 YEAR);

输出:

+-----------------------------------------+
| DATE_SUB('2022-12-13', INTERVAL 1 YEAR) |
+-----------------------------------------+
| 2021-12-13                              |
+-----------------------------------------+

示例 3:ADDDATE() 函数

ADDDATE() 函数与 SUBDATE 函数是相反的,用于在指定日期上加指定的时间段。如果要减去一段时间,只需要传入一个负值。

下面的语句使用 ADDDATE() 函数从一个指定日期减去 1 年:

SELECT ADDDATE('2022-12-13', INTERVAL -1 YEAR);

输出:

+-----------------------------------------+
| ADDDATE('2022-12-13', INTERVAL -1 YEAR) |
+-----------------------------------------+
| 2021-12-13                              |
+-----------------------------------------+

示例 4: 加减运算符

MariaDB 允许您直接使用加减法运算符 - 对日期/日期时间进行计算。

下面的语句使用减法实现了 '2022-12-13' 减去 1 年:

SELECT '2022-12-13' - INTERVAL 1 YEAR;

输出:

+--------------------------------+
| '2022-12-13' - INTERVAL 1 YEAR |
+--------------------------------+
| 2021-12-13                     |
+--------------------------------+

当然,您也可以使用加法运算符。并且只需要将 INTERVAL 值改为负数。

下面的语句使用加法实现了 '2022-12-13' 减去 1 年:

SELECT '2022-12-13' + INTERVAL -1 YEAR;

输出:

+---------------------------------+
| '2022-12-13' + INTERVAL -1 YEAR |
+---------------------------------+
| 2021-12-13                      |
+---------------------------------+

结论

本文给出了几个方法来从一个指定的日期减去一年。