MySQL RAND() 函数返回 0(含)和 1(不含)之间的随机数。如果没有提供种子,该函数将返回一个完全随机的数字。如果提供了种子,该函数将返回可重复的随机数序列。
语法
RAND(seed)
参数
seed | 可选。 如果指定了seed,则该函数返回可重复的随机数序列。如果没有指定种子,则返回完全随机数 |
返回值
返回随机数0(含)和 1(不含)之间的数字。
示例:
下面的示例显示了 RAND() 函数的用法。
/* 没有提供种子,因此结果会有所不同 */
mysql> SELECT RAND();
Result: 0.9147556348841224
/* 10 作为种子值 */
mysql> SELECT RAND(10);
Result: 0.6570515219653505
/* 0 作为种子值 */
mysql> SELECT RAND(0);
Result: 0.15522042769493574
给定范围内的随机数
MySQL RAND() 函数可用于创建给定范围内的随机数。例如 - 要创建 [a, b) 范围内的随机数,可以使用以下公式:
SELECT RAND()*(b-a) + a;
示例:
在下面的示例中, RAND 函数用于创建范围 [100, 200) 之间的随机数。
/* 没有提供种子,因此结果会有所不同 */
mysql> SELECT RAND()*(200-100) + 100;
Result: 143.67012152790102
/* 10 作为种子值 */
mysql> SELECT RAND(10)*(200-100) + 100;
Result: 165.70515219653504
/* 0 作为种子值 */
mysql> SELECT RAND(0)*(200-100) + 100;
Result: 115.52204276949357
给定范围内的随机整数
MySQL RAND() 函数可用于创建给定范围之间的随机整数。例如 - 要创建 [a, b) 范围内的随机整数,可以使用以下公式:
SELECT FLOOR(RAND()*(b-a)) + a;
示例:
在下面的示例中, RAND 函数用于创建范围 [500, 600) 之间的随机整数。
/* 没有提供种子,因此结果会有所不同 */
mysql> SELECT FLOOR(RAND()*(600-500)) + 500;
Result: 533
/* 10 作为种子值 */
mysql> SELECT FLOOR(RAND(10)*(600-500)) + 500;
Result: 565
/* 0 作为种子值 */
mysql> SELECT FLOOR(RAND(0)*(600-500)) + 500;
Result: 515