MariaDBでは、SLEEP()
は、引数で指定された秒数の間スリープ(一時停止)する組み込み関数です。
中断されていない場合は、0
を返します。 、中断された場合は、1
を返します 。
構文
構文は次のようになります:
SLEEP(duration)
duration
関数をスリープさせる秒数です。これにはマイクロ秒が含まれる場合があります。
例1
デモンストレーションの例を次に示します。
SELECT SLEEP(3);
結果:
+----------+ | SLEEP(3) | +----------+ | 0 | +----------+ 1 row in set (3.005 sec)
この場合、操作は中断することなく成功したため、0
返されました。
操作が完了するまでに3.005秒かかったことがわかります(そのうちの3つはおそらくSLEEP()
が原因でした。 関数)。
例2
SLEEP()
を使用する別の例を次に示します。 他の2つの関数呼び出しの間に:
SELECT CURTIME();
SELECT SLEEP(3);
SELECT CURTIME();
結果:
MariaDB [PetHouse]> SELECT CURTIME(); +-----------+ | CURTIME() | +-----------+ | 06:22:38 | +-----------+ 1 row in set (0.000 sec) MariaDB [PetHouse]> SELECT SLEEP(3); SELECT CURTIME(); +----------+ | SLEEP(3) | +----------+ | 0 | +----------+ 1 row in set (3.006 sec) MariaDB [PetHouse]> SELECT CURTIME(); +-----------+ | CURTIME() | +-----------+ | 06:22:41 | +-----------+ 1 row in set (0.000 sec)
マイクロ秒
前述のように、マイクロ秒を含めることができます:
SELECT CURTIME(6);
SELECT SLEEP(3.555555);
SELECT CURTIME(6);
結果:
MariaDB [PetHouse]> SELECT CURTIME(6); +-----------------+ | CURTIME(6) | +-----------------+ | 06:25:41.010538 | +-----------------+ 1 row in set (0.000 sec) MariaDB [PetHouse]> SELECT SLEEP(3.555555); SELECT CURTIME(6); +-----------------+ | SLEEP(3.555555) | +-----------------+ | 0 | +-----------------+ 1 row in set (3.561 sec) MariaDB [PetHouse]> SELECT CURTIME(6); +-----------------+ | CURTIME(6) | +-----------------+ | 06:25:44.573544 | +-----------------+ 1 row in set (0.000 sec)
ヌル引数
SLEEP()
を呼び出す null
を使用 0
を返します 一時停止なし:
SELECT SLEEP(null);
結果:
+-------------+ | SLEEP(null) | +-------------+ | 0 | +-------------+ 1 row in set (0.000 sec)
引数の数が無効です
SLEEP()
を呼び出す 引数がない場合、または引数の数が間違っている場合、エラーが発生します:
SELECT SLEEP();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SLEEP'
そして:
SELECT SLEEP(1, 2);
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SLEEP'
SLEEP()
を使用するステートメントに注意してください 関数は複製に対して安全ではありません。