MySQL生成随机数/随机整数实现

2022-06-16 83点热度 0人点赞 0条评论

MySQL中生成随机数的函数是RAND,该函数还可以接收一个seed数(种子),返回一个0-1之间的小数(0<=x<1,大于等于0,小于1)。例如:

mysql> SELECT RAND();
RAND(): 0.4768667244136955     (生成随机数) 

mysql> SELECT RAND(7);
RAND(): 0.40161898397060014      (生成随机数,种子数是7) 

mysql> SELECT RAND(-1.1);
RAND(): 0.5774947773455593     (生成随机数,种子数是-1.1)

如果要生成随机正数,可以再使用FLOOR函数,例如要生成[a,b]之间的整数,(a<=x<=b),可以这样做:

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

举例如下:

-- 生成80到100之前的随机整数
SELECT FLOOR(RAND()*(100-80+1))+80;

-- 生成0-100之间的随机整数
SELECT FLOOR(RAND()*(100+0+1))+0;
-- 也就是说:
SELECT FLOOR(RAND()*(101));

https://www.techonthenet.com/mysql/functions/rand.php#:~:text=To%20create%20a%20random%20integer,generate%20a%20random%20number%20for.

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论