Skip to main content

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 |
+---+