在MariaDB中向日期添加月份的6种方法
MariaDB 提供了几种对日期执行算术的方法。这包括从给定日期增加或减去一个月(或几个月)。
以下是在 MariaDB 中为日期添加月份的 6 种方法。
奖励更新:我现在添加了第 7 种方法,可以在本文末尾为日期添加一个月。所以我想现在是在 MariaDB 🙂 中为日期添加一个月的 7 种方法
函数DATE_ADD()
该函数允许您向日期添加金额。例如,您可以添加天数、周数、月数、年数等。DATE_ADD()
例:
SELECT DATE_ADD('2021-05-01', INTERVAL 1 MONTH);
结果:
+——————————————+ | DATE_ADD(‘2021-05-01’, INTERVAL 1 MONTH) | +——————————————+ | 2021-06-01 | +——————————————+
如果您需要添加超过一个月,只需使用该数字而不是。但是,无论如何,关键字仍然是非复数:1``MONTH
SELECT DATE_ADD('2021-05-01', INTERVAL 2 MONTH);
结果:
+——————————————+ | DATE_ADD(‘2021-05-01’, INTERVAL 2 MONTH) | +——————————————+ | 2021-07-01 | +——————————————+
也可以使用具有适当数量的该单位的另一个日期/时间单位。因此,您可以指定一定的天数,例如 30 或 31。
例:
SELECT DATE_ADD('2021-05-01', INTERVAL 31 DAY);
结果:
+—————————————–+ | DATE_ADD(‘2021-05-01’, INTERVAL 31 DAY) | +—————————————–+ | 2021-06-01 | +—————————————–+
使用天数时,是否恰好是一个月将取决于所讨论的月份。在上面的例子中,我本可以提供 30 天,但这会使我们在同一个月内:
SELECT DATE_ADD('2021-05-01', INTERVAL 30 DAY);
结果:
+—————————————–+ | DATE_ADD(‘2021-05-01’, INTERVAL 30 DAY) | +—————————————–+ | 2021-05-31 | +—————————————–+
因此,如果您实际上想添加一个月,那么该单位比尝试计算要添加多少天要容易得多。MONTH
函数ADDDATE()
向日期添加月份的另一种方法是使用该函数。此函数有两种语法。一种语法允许您向日期添加天数。其他语法与上面的函数相同。使用此语法时,是同义词。ADDDATE()DATE_ADD()``ADDDATE()``DATE_ADD()
例:
SELECT ADDDATE('2021-05-01', INTERVAL 1 MONTH);
结果:
+—————————————–+ | ADDDATE(‘2021-05-01’, INTERVAL 1 MONTH) | +—————————————–+ | 2021-06-01 | +—————————————–+
函数DATE_SUB()
该函数允许您减_去_日期的金额。但是,如果您提供负值进行减去,则它最终会_添加到_日期中。DATE_SUB()
例:
SELECT DATE_SUB('2021-05-01', INTERVAL -1 MONTH);
结果:
+——————————————-+ | DATE_SUB(‘2021-05-01’, INTERVAL -1 MONTH) | +——————————————-+ | 2021-06-01 | +——————————————-+
函数SUBDATE()
函数是使用以下语法时的同义词。SUBDATE()DATE_SUB()
例:
SELECT SUBDATE('2021-05-01', INTERVAL -1 MONTH);
结果:
+——————————————+ | SUBDATE(‘2021-05-01’, INTERVAL -1 MONTH) | +——————————————+ | 2021-06-01 | +——————————————+
操作员+
另一种选择是使用运算符。+
The运算符用于执行加法,我们可以在日期上使用它,以及适用的日期/时间单位,以将一定数量的月份添加到我们的日期。+
例:
SELECT '2021-05-01' + INTERVAL 1 MONTH;
结果:
+———————————+ | ‘2021-05-01’ + INTERVAL 1 MONTH | +———————————+ | 2021-06-01 | +———————————+
操作员-
运算符可用于从日期中减去金额。但是,如果它用于减去负数,则结果是将正数添加到日期中:-
SELECT '2021-05-01' - INTERVAL -1 MONTH;
结果:
+———————————-+ | ‘2021-05-01’ - INTERVAL -1 MONTH | +———————————-+ | 2021-06-01 | +———————————-+
奖励:功能ADD_MONTHS()
自从我第一次写这篇文章以来,MariaDB 中引入了一个新函数,专门用于向日期添加月份。
调用该函数,并在MariaDB 10.6.1中引入以增强Oracle兼容性。ADD_MONTHS()
所以我想这篇文章应该被称为 7 种方法添加一个_日期……_🙂
例:
SELECT ADD_MONTHS('2020-01-01', 3);
结果:
+—————————–+ | ADD_MONTHS(‘2020-01-01’, 3) | +—————————–+ | 2020-04-01 | +—————————–+
其他日期和时间单位
上面的例子向日期添加了月份数,但我们可以使用相同的技术来添加任何日期/时间单位。请参阅MariaDB 日期和时间单位,了解可与上述函数和运算符一起使用的日期/时间单位的完整列表。