mysql生成指定位数的随机数及批量生成随机数的方法
文章摘要
文章介绍了MySQL中生成指定位数随机数的方法,使用RAND()函数结合CEILING或FLOOR取整,通过公式如CEILING(RAND()*900+100)生成随机数,并提及批量更新数据的应用,但指出可能存在重复问题。
> 这篇文章主要介绍了mysql生成指定位数的随机数及批量生成随机数的方法,文中给大家介绍了常用mysql函数,需要的朋友可以参考下 **1. 先介绍几个常用的 MySQL 函数** RAND() 随机生成 0~1 之间的小数(0<1) ![img](https://oss.120120.top/typecho/2021/01/mysql/1.png) CEILING 向上取整 FLOOR 向下取整 ![img](https://oss.120120.top/typecho/2021/01/mysql/2.png) **2. 生成随机数** ```java -- 生成 3 位的随机数``SELECT` `CEILING(RAND()*900+100); -- 生成 4 位的随机数``SELECT` `CEILING(RAND()*9000+1000); -- 生成 5 位的随机数``SELECT` `CEILING(RAND()*90000+10000); ... ``` 示例: ![img](https://oss.120120.top/typecho/2021/01/mysql/3.png) 解释一下: ```java -- 生成 0~1 之间的随机小数 0 < RAND() <1 -- 乘以 9000,变成 0~9000 之间随机小数 0 < RAND*9000 < 9000 -- 加上 1000,变成 0~10000 之间的随机小数 0 < RAND*9000+1000 < 10000 -- 使用 CEILING 函数向上取整,去掉后面的小数,得到一个整数 -- 或使用 FLOOR 函数向下取整,都可以``CEILING(RAND()*9000+1000) -- 或FLOOR(RAND()*9000+1000) ``` **3. 注意** 这种生成指定位数随机数的方式还不是特别好,因为存在重复的可能。随机数的位数越少,重复的概率越大。所以这种方式只能在特殊场合有些作用。 **mysql批量生成随机数** 假数据: ```java update` `exercise_data ``set` `star_num=FLOOR(1 + (RAND() * 5)); ``` rand函数随机生成0到1的随机数,乘以5即可得到1-5的随机数,floor是的到上一个整数。
作者头像
admin
分享技术与生活
打赏作者

评论

暂无评论,快来抢沙发吧~