MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách SLEEP () hoạt động trong MariaDB

Trong MariaDB, SLEEP() là một hàm tích hợp có chức năng ngủ (tạm dừng) trong số giây được chỉ định bởi đối số của nó.

Nếu không bị gián đoạn, nó sẽ trả về 0 , nếu bị gián đoạn, nó sẽ trả về 1 .

Cú pháp

Cú pháp như sau:

SLEEP(duration)

Trong đó duration là số giây bạn muốn hàm ở chế độ ngủ. Điều này có thể bao gồm micro giây.

Ví dụ 1

Dưới đây là một ví dụ để chứng minh:

SELECT SLEEP(3);

Kết quả:

+----------+
| SLEEP(3) |
+----------+
|        0 |
+----------+
1 row in set (3.005 sec)

Trong trường hợp này, thao tác đã thành công mà không bị gián đoạn, và vì vậy 0 đã được trả lại.

Chúng tôi có thể thấy rằng thao tác này mất 3,005 giây để hoàn thành (3 trong số đó có lẽ là do SLEEP() gây ra chức năng).

Ví dụ 2

Đây là một ví dụ khác sử dụng SLEEP() ở giữa hai lệnh gọi hàm khác:

SELECT CURTIME();
SELECT SLEEP(3);
SELECT CURTIME();

Kết quả:

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)

Micro giây

Như đã đề cập, bạn có thể bao gồm micro giây:

SELECT CURTIME(6);
SELECT SLEEP(3.555555);
SELECT CURTIME(6);

Kết quả:

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)

Đối số rỗng

Đang gọi SLEEP() với null trả về 0 không ngừng nghỉ:

SELECT SLEEP(null);

Kết quả:

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

Số lượng đối số không hợp lệ

Đang gọi SLEEP() không có đối số hoặc với số đối số sai, dẫn đến lỗi:

SELECT SLEEP();

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SLEEP'

Và:

SELECT SLEEP(1, 2);

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SLEEP'

Lưu ý rằng các câu lệnh sử dụng SLEEP() chức năng không an toàn để sao chép.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có gì mới trong MariaDB Server 10.5?

  2. Cách FROM_DAYS () hoạt động trong MariaDB

  3. Sử dụng MariaDB Flashback trên MySQL Server

  4. 4 cách liệt kê tất cả các bảng trong cơ sở dữ liệu MariaDB

  5. MariaDB JSON_INSERT () Giải thích