1. 先介紹幾個常用的 MySQL 函數(shù)
RAND() 隨機生成 0~1 之間的小數(shù)(01)

CEILING 向上取整
FLOOR 向下取整

2. 生成隨機數(shù)
-- 生成 3 位的隨機數(shù)
SELECT CEILING(RAND()*900+100);
-- 生成 4 位的隨機數(shù)
SELECT CEILING(RAND()*9000+1000);
-- 生成 5 位的隨機數(shù)
SELECT CEILING(RAND()*90000+10000);
...
示例:

解釋一下:
-- 生成 0~1 之間的隨機小數(shù)
0 RAND() 1
-- 乘以 9000,變成 0~9000 之間隨機小數(shù)
0 RAND*9000 9000
-- 加上 1000,變成 0~10000 之間的隨機小數(shù)
0 RAND*9000+1000 10000
-- 使用 CEILING 函數(shù)向上取整,去掉后面的小數(shù),得到一個整數(shù)
-- 或使用 FLOOR 函數(shù)向下取整,都可以
CEILING(RAND()*9000+1000)
-- 或
FLOOR(RAND()*9000+1000)
3. 注意
這種生成指定位數(shù)隨機數(shù)的方式還不是特別好,因為存在重復(fù)的可能。隨機數(shù)的位數(shù)越少,重復(fù)的概率越大。所以這種方式只能在特殊場合有些作用。
mysql批量生成隨機數(shù)
假數(shù)據(jù):
update exercise_data set star_num=FLOOR(1 + (RAND() * 5));
rand函數(shù)隨機生成0到1的隨機數(shù),乘以5即可得到1-5的隨機數(shù),floor是的到上一個整數(shù)。
以上所述是小編給大家介紹的mysql生成指定位數(shù)的隨機數(shù)的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- MySQL的指定范圍隨機數(shù)函數(shù)rand()的使用技巧
- mysql 某字段插入隨機數(shù)(插入隨機數(shù)到MySQL數(shù)據(jù)庫)
- MySQL查詢隨機數(shù)據(jù)的4種方法和性能對比
- Oracle生成隨機數(shù)字、字符串、日期、驗證碼及 UUID的方法
- MySQL 生成隨機數(shù)字、字符串、日期、驗證碼及 UUID的方法