mysql生成某一范围的随机整数
2011-01-01 21:48codeif.com
mysql有随机函数rand(),会生成大于等于0,小于1(0到1)之间的小数
按照一般的思路就是 0到1的随机数乘以一个我们要随机范围,然后取整就可以,mysql中有round和floor函数都可以把小数变为整数整数
FLOOR(X)
返回不大于X的最大整数值。
ROUND(X,D)
返回参数X的四舍五入的有D为小数的一个数字。如果D为0,结果将没有小数点或小数部分。
看上面的解释,我们用floor(x)函数就够用了
例如我们要0-99的随机数,只要下面的sql语句就可以了
select floor(rand()*100);
1到99的随机数就是
select floor(1+rand()*99);
所以要mysql随机m到n之间的整数用下面的的形式的sql语句就可以了
select floor(m+rand()*[n-m+1]);
