MariaDB 函数

MariaDB RAND() 函数返回 0(含)和 1(不含)之间的随机数。如果没有提供种子,该函数将返回一个完全随机的数字。如果提供了种子,该函数将返回可重复的随机数序列。

语法

RAND(seed) 

参数

seed可选。 如果指定了seed,则该函数返回可重复的随机数序列。如果没有指定种子,则返回完全随机数

返回值

返回随机数0(含)和 1(不含)之间的数字。

示例:

下面的示例显示了 RAND() 函数的用法。

/* 没有提供种子,结果可能不同 */
SELECT RAND();
Result: 0.9147556348841224

/* 提供以10为种子 */
SELECT RAND(10);
Result: 0.6570515219653505

/* 0作为种子 */
SELECT RAND(0);
Result: 0.15522042769493574 

给定范围内的随机数

MariaDB RAND() 函数可用于创建给定范围内的随机数。例如 - 要创建 [a, b) 范围内的随机数,可以使用以下公式:

SELECT RAND()*(b-a) + a; 

示例:

在下面的示例中, RAND 函数用于创建范围 [100, 200) 之间的随机数。

/* 没有提供种子 */
SELECT RAND()*(200-100) + 100;
Result: 143.67012152790102

/* 提供10作为种子 */
SELECT RAND(10)*(200-100) + 100;
Result: 165.70515219653504

/* 0作为种子 */
SELECT RAND(0)*(200-100) + 100;
Result: 115.52204276949357 

给定范围内的随机整数

MariaDB RAND() 函数可用于创建给定范围之间的随机整数。例如 - 要创建 [a, b) 范围内的随机整数,可以使用以下公式:

SELECT FLOOR(RAND()*(b-a)) + a; 

示例:

在下面的示例中, RAND 函数用于创建范围 [500, 600) 之间的随机整数。

/* 没有提供种子值 */
SELECT FLOOR(RAND()*(600-500)) + 500;
Result: 533

/* 提供10作为种子 */
SELECT FLOOR(RAND(10)*(600-500)) + 500;
Result: 565

/* 0作为种子 */
SELECT FLOOR(RAND(0)*(600-500)) + 500;
Result: 515