RAND

Returns a random float or double between 0 and 1.0.

Syntax

RAND ( [seed] )

Arguments

  • seed: any valid numerical value.

Return type

A random float or double between 0 and 1.0.

Examples

In this example, note how the values in the rand() column differ across calls, and rand(1234) remains the same.

CREATE TABLE randos (i bigint primary key);
INSERT INTO randos VALUES (1), (2), (3), (4);
SELECT i, RAND(), RAND(1234) FROM randos;
+---+---------------------+----------------------+
| i | RAND() | RAND(1234) |
+---+---------------------+----------------------+
| 1 | 0.060627053578449 | 0.9903344706785644 |
| 2 | 0.6705938059950731 | 0.9595036873433918 |
| 3 | 0.0033184406209954 | 0.30311394845511597 |
| 4 | 0.16278354692338404 | 0.021165254013737034 |
+---+---------------------+----------------------+
SELECT i, RAND(), RAND(1234) FROM randos;
+---+--------------------+----------------------+
| i | RAND() | RAND(1234) |
+---+--------------------+----------------------+
| 1 | 0.4223319269518615 | 0.9903344706785644 |
| 2 | 0.0984310326439255 | 0.9595036873433918 |
| 3 | 0.5731110152577712 | 0.30311394845511597 |
| 4 | 0.3304480903355833 | 0.021165254013737034 |
+---+--------------------+----------------------+
SELECT i, CEIL(RAND() * 100) FROM randos;
+---+--------------------+
| i | CEIL(RAND() * 100) |
+---+--------------------+
| 1 | 1 |
| 2 | 90 |
| 3 | 77 |
| 4 | 80 |
+---+--------------------+
SELECT i FROM randos ORDER BY RAND();
+---+
| i |
+---+
| 4 |
| 1 |
| 2 |
| 3 |
+---+

Last modified: February 24, 2023

Was this article helpful?