MySQL 生成给定范围随机数

MySQL 的 rand() 函数是随机生成区间为 [0,1) 的浮点数,那么如何让它生成给定两个整数之间的随机数呢?试了一下这样可行:

select ROUND(RAND()*(10-1)+1);

也就是:

select ROUND(RAND()*(max-min)+min);

经测可行。

如图:

一个实际应用场景:比如给分数为 0 的记录,随机生成 400 到 500 之间的分数:

update civil_activity set score=round(rand()*(500-400)+400) where score=0;

这样就可以了。

标签:MySQL 发布于:2019-11-05 22:25:38