首页 > 编程笔记

MySQL RAND():获取随机数

在 MySQL 中,RAND() 函数用于生成一个 0 到 1 之间(0 ≤ v ≤ 1.0)的随机浮点数。这个函数在多种场景中都非常有用,特别是在需要随机选择数据或生成随机值时。

【实例】使用 RAND() 函数产生随机数,输入语句如下:
mysql> SELECT RAND(),RAND(),RAND();
+--------------------+---------------------+--------------------+
| RAND()           | RAND()            | RAND()           |
+--------------------+---------------------+--------------------+
| 0.1380485446546679 | 0.45428662510056667 | 0.8572875222724746 |
+--------------------+---------------------+--------------------+
可以看到,不带参数的 RAND() 每次产生的随机数值是不同的。

MySQL RAND(x)

RAND(x) 函数与 RAND() 函数非常相似,都用于生成随机数。其中,x 是一个可选的种子值(seed value)。当为 RAND() 提供种子值时,它会基于该种子生成一个伪随机数序列。这意味着,对于相同的种子值,RAND(x) 每次都会生成相同的随机数序列。

【实例】使用 RAND(x) 函数产生随机数,输入语句如下:
mysql> SELECT RAND(10),RAND(10),RAND(11);
+--------------------+--------------------+-------------------+
| RAND(10)          | RAND(10)          | RAND(11)         |
+--------------------+--------------------+-------------------+
| 0.6570515219653505 | 0.6570515219653505 | 0.907234631392392 |
+--------------------+--------------------+-------------------+
可以看到,当 RAND(x) 的参数相同时,将产生相同的随机数,不同的 x 产生的随机数值不同。

推荐阅读