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

MySQL RAND () Hàm - Tạo một số ngẫu nhiên trong MySQL

Trong MySQL, RAND() chức năng cho phép bạn tạo một số ngẫu nhiên. Cụ thể, hàm trả về một giá trị dấu phẩy động ngẫu nhiên v trong phạm vi 0 <= v < 1.0 .

Bạn cũng có thể tác động đến số ngẫu nhiên bằng cách cung cấp giá trị gốc làm đối số.

Cú pháp

Cú pháp như sau:

RAND([N])

Ở đâu N là giá trị gốc tùy chọn mà bạn có thể sử dụng để ảnh hưởng đến kết quả.

Ví dụ 1 - Không đối số

Dưới đây là một ví dụ cơ bản để chứng minh điều gì sẽ xảy ra khi chúng tôi không đưa ra đối số.

SELECT RAND();

Kết quả:

+--------------------+
| RAND()             |
+--------------------+
| 0.4335442291885095 |
+--------------------+

Kết quả không phải là một hằng số - nó sẽ khác nhau mỗi khi bạn chạy nó.

Dưới đây là một ví dụ về những gì sẽ xảy ra khi chúng tôi chạy nhiều RAND() chức năng cùng nhau.

SELECT 
  RAND() 'Result 1',
  RAND() 'Result 2',
  RAND() 'Result 3';

Kết quả:

+--------------------+---------------------+---------------------+
| Result 1           | Result 2            | Result 3            |
+--------------------+---------------------+---------------------+
| 0.9413559538697414 | 0.40614711251682334 | 0.20666773170853753 |
+--------------------+---------------------+---------------------+

Ví dụ 2 - Sử dụng Giá trị gốc

Như đã đề cập, bạn có thể chuyển vào một đối số để xác định giá trị hạt giống. Điều này cho phép bạn tác động đến kết quả đầu ra của hàm.

SELECT RAND(5);

Kết quả:

+---------------------+
| RAND(5)             |
+---------------------+
| 0.40613597483014313 |
+---------------------+

Trong trường hợp này, hàm sẽ trả về cùng một giá trị mỗi lần nếu một giá trị đối số bằng nhau được cung cấp.

SELECT 
  RAND(5) 'Result 1',
  RAND(5) 'Result 2',
  RAND(5) 'Result 3';

Kết quả:

+---------------------+---------------------+---------------------+
| Result 1            | Result 2            | Result 3            |
+---------------------+---------------------+---------------------+
| 0.40613597483014313 | 0.40613597483014313 | 0.40613597483014313 |
+---------------------+---------------------+---------------------+

Ví dụ 3 - Sử dụng RAND () như một phần của biểu thức

Bạn có thể sử dụng RAND() hoạt động như một phần của biểu thức.

SELECT RAND()*10;

Kết quả:

+-------------------+
| RAND()*10         |
+-------------------+
| 8.148973517258627 |
+-------------------+

Ví dụ 4 - Trả về một số nguyên ngẫu nhiên giữa hai số

Bạn có thể kết hợp RAND() hàm với FLOOR() hàm để trả về một số nguyên ngẫu nhiên giữa hai số.

Dưới đây là cách tạo một số nguyên từ 5 đến 10 (bao gồm cả).

SELECT FLOOR(RAND()*(10-5+1)+5);

Kết quả:

+--------------------------+
| FLOOR(RAND()*(10-5+1)+5) |
+--------------------------+
|                        7 |
+--------------------------+

Hãy chạy cùng một mã nhiều lần để xem các kết quả khác nhau.

SELECT 
  FLOOR(RAND()*(10-5+1)+5) 'Result 1',
  FLOOR(RAND()*(10-5+1)+5) 'Result 2',
  FLOOR(RAND()*(10-5+1)+5) 'Result 3';

Kết quả:

+----------+----------+----------+
| Result 1 | Result 2 | Result 3 |
+----------+----------+----------+
|        7 |        9 |        6 |
+----------+----------+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng MySQL với Entity Framework

  2. Khi nào sử dụng SELECT ... FOR UPDATE?

  3. Nhận số lượng bản ghi cho tất cả các bảng trong cơ sở dữ liệu MySQL

  4. Làm cách nào để UTF-8 hoạt động trong các ứng dụng web Java?

  5. Kiểm tra kết nối PDO