MariaDB SLEEP() 函数使用指南

在 MariaDB 中,SLEEP() 是一个内置函数,它将当前查询暂停(睡眠)指定的秒数。

MariaDB SLEEP() 语法

这里是 MariaDB SLEEP() 函数的语法:

SLEEP(duration)

参数

duration
必需的。 以秒为单位的睡眠时长。它应该大于或等于 0,并且可以带有小数部分。

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

返回值

MariaDB SLEEP() 函数将查询暂停(睡眠)指定的秒数,然后返回 0。如果暂停被中断,则返回 1

如果参数 duration 为负数或者 NULLSLEEP() 函数将不会产生停顿。

MariaDB SLEEP() 示例

基础示例

这个语句展示了 MariaDB SLEEP() 函数的用法:

SELECT
  SYSDATE(),
  SLEEP(5),
  SYSDATE();

输出:

+---------------------+----------+---------------------+
| SYSDATE()           | SLEEP(5) | SYSDATE()           |
+---------------------+----------+---------------------+
| 2023-02-03 15:41:18 |        0 | 2023-02-03 15:41:23 |
+---------------------+----------+---------------------+
1 row in set (5.013 sec)

在这个示例中, 我们通过 SLEEP(5) 让查询暂停了 5 秒,因此第二个 SYSDATE() 的输出比第一个的输出晚了 5 秒。

小数秒

MariaDB SLEEP() 函数允许您提供一个带有小数的参数,

SELECT
  SYSDATE(6),
  SLEEP(0.1),
  SYSDATE(6);

输出:

+----------------------------+------------+----------------------------+
| SYSDATE(6)                 | SLEEP(0.1) | SYSDATE(6)                 |
+----------------------------+------------+----------------------------+
| 2023-02-03 15:46:18.142459 |          0 | 2023-02-03 15:46:18.251445 |
+----------------------------+------------+----------------------------+

NULL or 负数

如果参数为负数或者 NULLSLEEP() 函数将不会产生停顿。

SELECT SLEEP(NULL), SLEEP(-1);

输出:

+-------------+-----------+
| SLEEP(NULL) | SLEEP(-1) |
+-------------+-----------+
|           0 |         0 |
+-------------+-----------+
1 row in set (0.000 sec)

结论

在 MariaDB 中,SLEEP() 是一个内置函数,它将当前查询暂停(睡眠)指定的秒数。