MariaDB SLEEP() Function

In MariaDB, SLEEP() is a built-in function that pauses (sleeps) the current query for a specified number of seconds.

MariaDB SLEEP() Syntax

Here is the syntax of the MariaDB SLEEP() function:

SLEEP(duration)

Parameters

duration

Optional. Sleep duration in seconds. It should be greater than or equal to 0 and can have a fractional part.

If you supply the wrong number of arguments, MariaDB will report an error: ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SLEEP'.

Return value

The MariaDB SLEEP() function will pause (sleep) the query for the specified number of seconds before returning 0. The function will return 1 if the pause was interrupted.

If the argument duration is negative or NULL, the SLEEP() function will not work.

MariaDB SLEEP() Examples

Basic examples

This statement shows the usage of the MariaDB SLEEP() function:

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

Output:

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

In this example, SLEEP(5) we paused the query for 5 seconds with , so the output of the second is 5 seconds behind SYSDATE() the output of the first.

Fractional seconds

The MariaDB SLEEP() function allows you to provide an argument with a decimal,

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

Output:

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

NULL or negative number

If the argument is negative or NULL, the SLEEP() function will not stall.

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

Output:

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

Conclusion

In MariaDB, SLEEP() is a built-in function that pauses (sleeps) the current query for a specified number of seconds.