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