在 MariaDB 中向日期时间值添加秒数的 8 种方法
如果您需要在 MariaDB 中向日期时间值添加一个或多个秒,请考虑以下 8 个选项。
函数DATE_ADD()
该函数允许您向日期或日期时间表达式添加金额。这包括添加时间部分,例如小时、分钟、秒等。DATE_ADD()
例:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND);
结果:
+—————————————————–+ | DATE_ADD(‘2021-05-01 10:00:00’, INTERVAL 35 SECOND) | +—————————————————–+ | 2021-05-01 10:00:35 | +—————————————————–+
在本例中,我在日期时间表达式中添加了 35 秒。请注意,无论我添加一秒还是更长时间,关键字都保持非复数。SECOND
如果我只提供日期,会发生什么情况:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 SECOND);
结果:
+——————————————–+ | DATE_ADD(‘2021-05-01’, INTERVAL 35 SECOND) | +——————————————–+ | 2021-05-01 00:00:35 | +——————————————–+
时间部分追加到结果中,并假定初始时间是。00:00:00
添加 60 秒时,如果我们愿意,我们可以选择使用 the 关键字:MINUTE
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE);
结果:
+—————————————————-+ | DATE_ADD(‘2021-05-01 10:00:00’, INTERVAL 1 MINUTE) | +—————————————————-+ | 2021-05-01 10:01:00 | +—————————————————-+
这种技术显然适用于 120 秒、180 秒等。只需使用适用的分钟数。
您还可以使用复合日期/时间单位来添加多个单位。例如,如果要添加 1 分 30 秒,可以执行以下操作:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND);
结果:
+—————————————————————-+ | DATE_ADD(‘2021-05-01 10:00:00’, INTERVAL ‘1:30’ MINUTE_SECOND) | +—————————————————————-+ | 2021-05-01 10:01:30 | +—————————————————————-+
有关日期/时间单位的完整列表,请参阅MariaDB 日期和时间单位。
函数ADDDATE()
向日期时间表达式添加秒数的另一种方法是使用 the函数。此函数有两种语法:ADDDATE()
- 一种语法允许您向日期添加天数,这不是我们在这里所做的(除非我们计划以 86,400 的块添加秒数,即一天中的秒数)。
- 其他语法与上面的函数相同。使用此语法时,是同义词。
DATE_ADD()``ADDDATE()``DATE_ADD()
例:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND);
结果:
+—————————————————-+ | ADDDATE(‘2021-05-01 10:00:00’, INTERVAL 35 SECOND) | +—————————————————-+ | 2021-05-01 10:00:35 | +—————————————————-+
The FunctionDATE_SUB()
该函数允许您_减去_日期/日期时间表达式的金额。但是,如果您提供负值进行减去,则它最终会_添加到_日期/时间中。DATE_SUB()
例:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND);
结果:
+——————————————————+ | DATE_SUB(‘2021-05-01 10:00:00’, INTERVAL -35 SECOND) | +——————————————————+ | 2021-05-01 10:00:35 | +——————————————————+
函数SUBDATE()
函数是使用以下语法时的同义词。SUBDATE()DATE_SUB()
例:
SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND);
结果:
+—————————————————–+ | SUBDATE(‘2021-05-01 10:00:00’, INTERVAL -35 SECOND) | +—————————————————–+ | 2021-05-01 10:00:35 | +—————————————————–+
操作员+
另一种选择是使用运算符。+
运算符用于执行加法,我们可以在日期上使用它,以及适用的日期/时间单位,以向我们的日期时间表达式添加一定数量的秒数。+
例:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 SECOND;
结果:
+——————————————–+ | ‘2021-05-01 10:00:00’ + INTERVAL 35 SECOND | +——————————————–+ | 2021-05-01 10:00:35 | +——————————————–+
操作员-
运算符可用于从日期中减去金额。但是,如果它用于减去负数,则结果是将正数添加到日期时间表达式中:-
SELECT '2021-05-01 10:00:00' - INTERVAL -35 SECOND;
结果:
+———————————————+ | ‘2021-05-01 10:00:00’ - INTERVAL -35 SECOND | +———————————————+ | 2021-05-01 10:00:35 | +———————————————+
函数ADDTIME()
您可以使用该函数向日期时间表达式添加秒数。ADDTIME()
例:
SELECT ADDTIME('2021-05-01 10:00:00', '00:00:30');
结果:
+——————————————–+ | ADDTIME(‘2021-05-01 10:00:00’, ‘00:00:30’) | +——————————————–+ | 2021-05-01 10:00:30 | +——————————————–+
此功能的一个好处是您还可以更改其他时间单位,例如小时、分钟等。
函数SUBTIME()
如果您愿意,也可以切换它并使用负值:SUBTIME()
SELECT SUBTIME('2021-05-01 10:00:00', '-00:00:30');
结果:
+———————————————+ | SUBTIME(‘2021-05-01 10:00:00’, ‘-00:00:30’) | +———————————————+ | 2021-05-01 10:00:30 | +———————————————+
其他日期和时间单位
上面的例子向日期时间值添加了秒数,但我们可以使用相同的技术来添加任何日期/时间单位。请参阅MariaDB 日期和时间单位,了解可与上述函数和运算符一起使用的日期/时间单位的完整列表。