Outdated Version

You are viewing an older version of this section. View current production version.

RAND

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.

memsql> create table randos (i bigint primary key);

memsql> insert into randos values (1), (2), (3), (4);

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

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

memsql> select i, ceil(rand() * 100) from randos;
+---+--------------------+
| i | ceil(rand() * 100) |
+---+--------------------+
| 1 |                  1 |
| 2 |                 90 |
| 3 |                 77 |
| 4 |                 80 |
+---+--------------------+

memsql> select i from randos order by rand();
+---+
| i |
+---+
| 4 |
| 1 |
| 2 |
| 3 |
+---+