从 MariaDB 中的日期时间值中减去秒数

发布于

以下是一些从 MariaDB 中的日期时间表达式中减去一秒或多秒的选项。

函数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 09:59:30                        |
+--------------------------------------------+

您还可以更改其他时间单位,例如小时、分钟等。

函数DATE_SUB()

该函数允许您从日期或日期时间表达式中减去一定数量的日期/时间单位。因此,我们可以使用此函数返回日期时间值,减去一定的秒数。DATE_SUB()

例:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND);

输出:

+-----------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 09:59:30                                 |
+-----------------------------------------------------+

请注意,无论您减去一秒还是更长时间,关键字都保持非复数。SECOND

您还可以使用复合日期和时间单位。例如,您可以一次性完成几分钟和几秒钟。

例:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND);

输出:

+-----------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND) |
+-----------------------------------------------------------------+
| 2021-05-01 09:44:30                                             |
+-----------------------------------------------------------------+

只传递日期

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

SELECT DATE_SUB('2021-05-01', INTERVAL 30 SECOND);

输出:

+--------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 30 SECOND) |
+--------------------------------------------+
| 2021-04-30 23:59:30                        |
+--------------------------------------------+

它假设时间从 00:00:00 开始,因此从中减去金额。SECOND

减法运算符 (-)

从日期时间值中减去一个或多个秒的另一种方法是使用减法运算符 (),也称为减号运算符。-

例:

SELECT '2021-05-01 10:00:00' - INTERVAL 30 SECOND;

输出:

+--------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL 30 SECOND |
+--------------------------------------------+
| 2021-05-01 09:59:30                        |
+--------------------------------------------+

加法运算符 (+)

您也可以使用加法运算符 () 和负量。+

例:

SELECT '2021-05-01 10:00:00' + INTERVAL -30 SECOND;

输出:

+---------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL -30 SECOND |
+---------------------------------------------+
| 2021-05-01 09:59:30                         |
+---------------------------------------------+

减去秒的其他方法

下面是一些可用于从日期时间值中减去一秒或多秒的其他方法:

  • 函数。SUBTIME()
  • 该函数(提供负量将从日期时间值中减去该金额)。ADDTIME()
  • 函数(当与相同的语法一起使用时,这是同义词)。SUBDATE()DATE_SUB()
  • 该函数(提供负量将从日期时间值中减去该金额)。DATE_ADD()
  • 该函数(提供负量将从日期时间值中减去该金额)。ADDDATE()