MariaDB ADDTIME() 函数使用指南

在 MariaDB 中,ADDTIME() 是一个内置函数,它在指定的时间上加上指定的时间间隔并返回结果。

MariaDB ADDTIME() 语法

这是 MariaDB ADDTIME() 函数的语法:

ADDTIME(timeExpr1, timeExpr2)

参数

timeExpr1
必需的。它是一个 datetime 或者 time 表达式。
timeExpr2
必需的。它是个时间表达式。它可以是正数或者负数。

如果您不提供参数或提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ADDTIME'

返回值

MariaDB ADDTIME() 函数将 timeExpr2 加到 timeExpr1 上,并返回结果。

ADDTIME() 函数按如下规则确定返回值的类型:

  • 如果 timeExpr1 参数是动态类型,ADDTIME() 函数返回值类型为 TIME
  • 否则,ADDTIME() 函数返回的数据类型和第一个参数一样。

MariaDB ADDTIME() 示例

示例 1

给指定的时间加上 10 秒钟:

SELECT
    ADDTIME('2020-10-10 10:10:10', 10),
    ADDTIME('10:10:10', 10)\G

输出:

ADDTIME('2020-10-10 10:10:10', 10): 2020-10-10 10:10:20
           ADDTIME('10:10:10', 10): 10:10:20

示例 2

给指定的时间加上 1 分钟:

SELECT
    ADDTIME('10:10:10', 100),
    ADDTIME('10:10:10', '100'),
    ADDTIME('10:10:10', '0:01:00')\G

输出:

      ADDTIME('10:10:10', 100): 10:11:10
    ADDTIME('10:10:10', '100'): 10:11:10
ADDTIME('10:10:10', '0:01:00'): 10:11:10

示例 3

给指定的时间加上和减去 1 小时 10 分钟 10 秒 10 微秒。

SELECT
    ADDTIME('10:00:00', '01:10:10.000010'),
    ADDTIME('10:00:00', '-01:10:10.000010'),
    SUBTIME('10:00:00', '01:10:10.000010')\G

输出:

 ADDTIME('10:00:00', '01:10:10.000010'): 11:10:10.000010
ADDTIME('10:00:00', '-01:10:10.000010'): 08:49:49.999990
 SUBTIME('10:00:00', '01:10:10.000010'): 08:49:49.999990

这里,参数 '-01:10:10.000010' 前面的减号意思是 '10:00:00' 减去 '01:10:10.000010',这和 SUBTIME() 函数结果一样。

结论

在 MariaDB 中,ADDTIME() 是一个内置函数,它在指定的时间上加上指定的时间间隔并返回结果。