Hướng dẫn how to create random number in mysql - cách tạo số ngẫu nhiên trong mysql

Hướng dẫn how to create random number in mysql - cách tạo số ngẫu nhiên trong mysql


Hướng dẫn MySQL này giải thích cách sử dụng chức năng MySQL RAND với cú pháp và ví dụ.RAND function with syntax and examples.

Sự mô tả

Hàm MySQL RAND có thể được sử dụng để trả về một số ngẫu nhiên hoặc một số ngẫu nhiên trong một phạm vi.

Cú pháp

Cú pháp cho hàm RAND trong MySQL là:

RAND( [seed] )

Tham số hoặc đối số

hạt giống. Nếu được chỉ định, nó sẽ tạo ra một chuỗi các số ngẫu nhiên lặp lại mỗi khi giá trị hạt giống được cung cấp.

Ghi chú

  • Hàm Rand sẽ trả về một giá trị giữa 0 (bao gồm) và 1 (độc quyền), vì vậy giá trị> = 0 và giá trị <1.
  • Hàm Rand sẽ trả về một số hoàn toàn ngẫu nhiên nếu không có hạt giống nào được cung cấp.
  • Hàm RAND sẽ trả về một chuỗi các số ngẫu nhiên lặp lại mỗi khi một giá trị hạt cụ thể được sử dụng.

Phạm vi thập phân ngẫu nhiên

Để tạo số thập phân ngẫu nhiên giữa hai giá trị (phạm vi), bạn có thể sử dụng công thức sau:

SELECT RAND()*(b-a)+a;

Trong đó A là số nhỏ nhất và B là số lớn nhất mà bạn muốn tạo ra một số ngẫu nhiên cho.

SELECT RAND()*(25-10)+10;

Công thức trên sẽ tạo ra số thập phân ngẫu nhiên> = 10 và <25. (Lưu ý: Công thức này sẽ không bao giờ trả về giá trị 25 vì hàm ngẫu nhiên sẽ không bao giờ trả về 1.)Note: this formula will never return a value of 25 because the random function will never return 1.)

Phạm vi số nguyên ngẫu nhiên

Để tạo số nguyên ngẫu nhiên giữa hai giá trị (phạm vi bao gồm), bạn có thể sử dụng công thức sau:

SELECT FLOOR(RAND()*(b-a+1))+a;

Trong đó A là số nhỏ nhất và B là số lớn nhất mà bạn muốn tạo ra một số ngẫu nhiên cho.

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

Công thức trên sẽ tạo ra số thập phân ngẫu nhiên> = 10 và <25. (Lưu ý: Công thức này sẽ không bao giờ trả về giá trị 25 vì hàm ngẫu nhiên sẽ không bao giờ trả về 1.)

Phạm vi số nguyên ngẫu nhiên

Để tạo số nguyên ngẫu nhiên giữa hai giá trị (phạm vi bao gồm), bạn có thể sử dụng công thức sau:

  • Công thức trên sẽ tạo ra một số nguyên ngẫu nhiên trong khoảng từ 10 đến 25, bao gồm.

Áp dụng cho

Hàm Rand có thể được sử dụng trong các phiên bản sau của MySQL:

MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

mysql> SELECT RAND();
Result: 0.2430297417966926     (no seed value, so your answer will vary)

mysql> SELECT RAND(9);
Result: 0.406868412538309      (with seed value of 9)

mysql> SELECT RAND(-5);
Result: 0.9043048842850187     (with seed value of -5)

Ví dụ về số ngẫu nhiên

Hãy khám phá cách sử dụng hàm Rand trong MySQL để tạo số ngẫu nhiên> = 0 và

Ví dụ:

Mặc dù hàm RAND sẽ trả về giá trị 0, nhưng nó sẽ không bao giờ trả về giá trị là 1. Nó sẽ luôn trả về giá trị nhỏ hơn 1.Note: it will never return a value of 10):

mysql> SELECT RAND()*(10-1)+1;
Result: 3.71321560508871      (no seed value, so your answer will vary)

mysql> SELECT RAND(9)*(10-1)+1;
Result: 4.661815712844781     (with seed value of 9)

mysql> SELECT RAND(-5)*(10-1)+1;
Result: 9.138743958565168     (with seed value of -5)

Ví dụ về phạm vi thập phân ngẫu nhiên

Hãy khám phá cách sử dụng hàm RAND trong MySQL để tạo số thập phân ngẫu nhiên giữa hai số (IE: Phạm vi).

Ví dụ: sau đây sẽ tạo ra một giá trị thập phân ngẫu nhiên là> = 1 và <10 (lưu ý: nó sẽ không bao giờ trả về giá trị 10):

mysql> SELECT FLOOR(RAND()*(30-20+1))+20;
Result: 22                    (no seed value, so your answer will vary)

mysql> SELECT FLOOR(RAND(9)*(30-20+1))+20;
Result: 24                    (with seed value of 9)

mysql> SELECT FLOOR(RAND(-5)*(30-20+1))+20;
Result: 29                    (with seed value of -5)

Trong & nbsp; mysql, hàm

SELECT RAND()*(25-10)+10;
3 cho phép bạn tạo một số ngẫu nhiên. Cụ thể, hàm trả về giá trị dấu phẩy động ngẫu nhiên V trong phạm vi
SELECT RAND()*(25-10)+10;
4.

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

Cú pháp

Cú pháp diễn ra như thế này:

RAND([N])

Trong đó

SELECT RAND()*(25-10)+10;
5 là một giá trị hạt giống tùy chọn mà bạn có thể sử dụng để ảnh hưởng đến kết quả.

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

Ở đây, một ví dụ cơ bản để chứng minh những gì xảy ra khi chúng tôi không cung cấp một đối số.

SELECT RAND();

Result:

SELECT RAND()*(b-a)+a;
0

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ó.

Ở đây, một ví dụ về những gì xảy ra khi chúng ta chạy nhiều chức năng

SELECT RAND()*(25-10)+10;
3 cùng nhau.

SELECT RAND()*(b-a)+a;
1

Result:

SELECT RAND()*(b-a)+a;
2

Ví dụ 2 - Sử dụng giá trị hạt giống

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

SELECT RAND()*(b-a)+a;
3

Result:

SELECT RAND()*(b-a)+a;
4

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

SELECT RAND()*(b-a)+a;
5

Result:

SELECT RAND()*(b-a)+a;
6

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 hàm

SELECT RAND()*(25-10)+10;
3 như một phần của biểu thức.

SELECT RAND()*(b-a)+a;
7

Result:

SELECT RAND()*(b-a)+a;
8

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 hàm

SELECT RAND()*(25-10)+10;
3 với hàm
SELECT RAND()*(25-10)+10;
9 để trả về một số nguyên ngẫu nhiên giữa hai số.

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

SELECT RAND()*(b-a)+a;
9

Result:

SELECT RAND()*(25-10)+10;
0

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

SELECT RAND()*(25-10)+10;
1

Result:

SELECT RAND()*(25-10)+10;
2

Làm thế nào để bạn gán một số ngẫu nhiên trong SQL?

Để tạo một số nguyên ngẫu nhiên giữa hai giá trị (phạm vi), bạn có thể sử dụng công thức sau: Chọn Tầng (Rand ()*(B-A+1))+A;Trong đó A là số nhỏ nhất và B là số lớn nhất mà bạn muốn tạo ra một số ngẫu nhiên cho.SELECT FLOOR(RAND()*(b-a+1))+a; Where a is the smallest number and b is the largest number that you want to generate a random number for.

Làm thế nào để bạn tạo một công thức số ngẫu nhiên?

Nếu chúng ta muốn tạo một số ngẫu nhiên giữa hai số, chúng ta có thể sử dụng công thức: rand () * (b - a) + a, trong đó A là số nhỏ nhất và B là số lớn nhất mà chúng ta muốn tạo ra một số ngẫu nhiênvì.RAND() * (b – a) + a, where a is the smallest number and b is the largest number that we wish to generate a random number for.

Rand () có thực sự ngẫu nhiên không?

Tuy nhiên, các số được tạo bởi rand () không phải là ngẫu nhiên vì nó tạo ra cùng một chuỗi mỗi lần mã được thực thi.not random because it generates the same sequence each time the code executed.

Sự khác biệt giữa rand () và srand () là gì?

Hàm Rand () trong C ++ được sử dụng để tạo số ngẫu nhiên;Nó sẽ tạo ra cùng một số mỗi khi chúng tôi chạy chương trình.Để tạo ra hàm rand (), srand (hạt giống int không dấu) được sử dụng.Hàm srand () đặt điểm ban đầu để tạo các số giả ngẫu nhiên.