在MariaDB中为日期时间添加分钟的8种方法

发布于

MariaDB 提供了许多执行日期算术的方法。这包括从日期或日期时间值中添加或减去一定数量的给定日期部分。

在本文中,我介绍了 8 种在 MariaDB 中向日期时间值添加一分钟或多分钟的方法。

函数DATE_ADD()

该函数允许您向日期或日期时间表达式添加金额。这包括添加时间部分,例如分钟。DATE_ADD()

例:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE);

结果:

+—————————————————–+ | DATE_ADD(‘2021-05-01 10:00:00’, INTERVAL 35 MINUTE) | +—————————————————–+ | 2021-05-01 10:35:00 | +—————————————————–+

在本例中,我在日期时间表达式中添加了 35 分钟。请注意,无论我添加一分钟还是更长时间,关键字都保持非复数。MINUTE

如果我只提供日期,会发生什么情况:

SELECT DATE_ADD('2021-05-01', INTERVAL 35 MINUTE);

结果:

+——————————————–+ | DATE_ADD(‘2021-05-01’, INTERVAL 35 MINUTE) | +——————————————–+ | 2021-05-01 00:35:00 | +——————————————–+

时间部分追加到结果中,并假定初始时间是。00:00:00

添加 60 分钟时,如果我们愿意,我们可以使用关键字:HOUR

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR);

结果:

+————————————————–+ | DATE_ADD(‘2021-05-01 10:00:00’, INTERVAL 1 HOUR) | +————————————————–+ | 2021-05-01 11:00:00 | +————————————————–+

显然,这种技术适用于 120 分钟、180 分钟等。只需使用适用的小时数。

您还可以使用复合日期/时间单位来添加多个单位。例如,如果要添加 1 小时 30 分钟,可以执行以下操作:

SELECT 
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE);

结果:

+————————————————————–+ | DATE_ADD(‘2021-05-01 10:00:00’, INTERVAL ‘1:30’ HOUR_MINUTE) | +————————————————————–+ | 2021-05-01 11:30:00 | +————————————————————–+

有关日期/时间单位的完整列表,请参阅MariaDB 日期和时间单位。

函数ADDDATE()

向日期时间表达式添加分钟的另一种方法是使用 the函数。此函数有两种语法:ADDDATE()

  1. 一种语法允许您向日期添加天数,这不是我们在这里所做的(除非我们计划以 1,440 为块添加分钟,即一天中的分钟数)。
  2. 其他语法与上面的函数相同。使用此语法时,是同义词。DATE_ADD()``ADDDATE()``DATE_ADD()

例:

SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE);

结果:

+—————————————————-+ | ADDDATE(‘2021-05-01 10:00:00’, INTERVAL 35 MINUTE) | +—————————————————-+ | 2021-05-01 10:35:00 | +—————————————————-+

函数DATE_SUB()

该函数允许您_减去_日期/日期时间表达式的金额。但是,如果您提供负值进行减去,则它最终会_添加到_日期/时间中。DATE_SUB()

例:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE);

结果:

+——————————————————+ | DATE_SUB(‘2021-05-01 10:00:00’, INTERVAL -35 MINUTE) | +——————————————————+ | 2021-05-01 10:35:00 | +——————————————————+

函数SUBDATE()

函数是使用以下语法时的同义词。SUBDATE()DATE_SUB()

例:

SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE);

结果:

+—————————————————–+ | SUBDATE(‘2021-05-01 10:00:00’, INTERVAL -35 MINUTE) | +—————————————————–+ | 2021-05-01 10:35:00 | +—————————————————–+

操作员+

另一种选择是使用运算符。+

The运算符用于执行加法,我们可以在日期上使用它,以及适用的日期/时间单位,以将一定数量的分钟添加到我们的日期中。+

例:

SELECT '2021-05-01 10:00:00' + INTERVAL 35 MINUTE;

结果:

+——————————————–+ | ‘2021-05-01 10:00:00’ + INTERVAL 35 MINUTE | +——————————————–+ | 2021-05-01 10:35:00 | +——————————————–+

操作员-

运算符可用于从日期中减去金额。但是,如果它用于减去负数,则结果是将正数添加到日期中:-

SELECT '2021-05-01 10:00:00' - INTERVAL -35 MINUTE;

结果:

+———————————————+ | ‘2021-05-01 10:00:00’ - INTERVAL -35 MINUTE | +———————————————+ | 2021-05-01 10:35:00 | +———————————————+

函数ADDTIME()

您可以使用该函数向日期时间表达式添加分钟数。ADDTIME()

例:

SELECT ADDTIME('2021-05-01 10:00:00', '00:30:00');

结果:

+——————————————–+ | ADDTIME(‘2021-05-01 10:00:00’, ‘00:30:00’) | +——————————————–+ | 2021-05-01 10:30:00 | +——————————————–+

此功能的一个好处是您还可以更改其他时间单位,例如小时、秒等。

函数SUBTIME()

如果您愿意,也可以切换它并使用负值:SUBTIME()

SELECT SUBTIME('2021-05-01 10:00:00', '-00:30:00');

结果:

+———————————————+ | SUBTIME(‘2021-05-01 10:00:00’, ‘-00:30:00’) | +———————————————+ | 2021-05-01 10:30:00 | +———————————————+

其他日期和时间单位

上面的示例向日期时间值添加了分钟数,但我们可以使用相同的技术来添加任何日期/时间单位。请参阅MariaDB 日期和时间单位,了解可与上述函数和运算符一起使用的日期/时间单位的完整列表。