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

发布于

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

函数SUBTIME()

从时间或日期时间值中减去给定的时间量。SUBTIME()

例:

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

输出:

+---------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:00:00.123456') |
+---------------------------------------------------+
| 2021-05-01 09:59:59.876544                        |
+---------------------------------------------------+

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

函数DATE_SUB()

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

例:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND);

输出:

+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 09:59:59.999700                                |
+-----------------------------------------------------------+

请注意,无论您减去一微秒还是更多,关键字都保持非复数。MICROSECOND

只传递日期

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

SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND);

输出:

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

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

减法运算符 (-)

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

例:

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

输出:

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

加法运算符 (+)

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

例:

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

输出:

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

减去微秒的其他方法

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

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