本MySQL教程通过语法和示例说明了如何使用MySQL RAND函数。
MySQL RAND函数用于返回一个随机数。
MySQL中RAND函数的语法为:
RAND( [seed] )
seed可选的。如果提供seed值, 它将在每次产生一个可重复的随机数序列。
说明 RAND函数将返回一个介于0(包含)和1(不包含)之间的值,因此值> = 0且值<1。 如果没有提供种子seed值,则RAND函数将返回一个完全随机的数字。 每次使用特定种子值时,RAND函数将返回可重复的随机数序列。 即执行两次得到的结果是一样。
说明
要在两个值(范围)之间生成一个随机的数,可以使用以下公式:
SELECT
RAND()*(b-a)+a;
其中a是您要为其生成随机数的最小数,b是最大数。
例如:
RAND()*(25-10)+10;
上面的公式将生成一个大于等于10并且小于25的随机数。(注意:永远不会返回值25,因为随机函数永远不会返回1。)
要在两个值(包括范围)之间生成一个随机整数,可以使用以下公式:
FLOOR(RAND()*(b-a+1))+a;
FLOOR(RAND()*(25-10+1))+10;
上面的公式将生成一个10到25之间(包含10和25)的随机整数。
-- 结果是随机的 0到1之间
mysql>
RAND();
Result: 0.2430297417966926
RAND(9);
Result: 0.406868412538309
-- 两次seed一样,得到的结果是一样的,不同机器也一样
RAND(-5);
Result: 0.9043048842850187
生成一个随机的值,该值大于等于1并且小于10:
-- 没有指定seed,所以每次不一样
RAND()*(10-1)+1;
Result: 3.71321560508871
-- 种子9的随机值 不同机器也一样
RAND(9)*(10-1)+1;
Result: 4.6618157128448
RAND(-5)*(10-1)+1;
Result: 9.1387439585652
生成一个介于20和30之间的随机整数值:
FLOOR(RAND()*(30-20+1))+20;
Result: 27
FLOOR(RAND(9)*(30-20+1))+20;
Result: 24
FLOOR(RAND(-5)*(30-20+1))+20;
Result: 29
原文链接:https://codingdict.com/