mysql生成指定位數(shù)的隨機(jī)數(shù)及批量生成隨機(jī)數(shù)的方法
1. 先介紹幾個(gè)常用的 MySQL 函數(shù)
RAND() 隨機(jī)生成 0~1 之間的小數(shù)(0<1)

CEILING 向上取整
FLOOR 向下取整

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

解釋一下:
-- 生成 0~1 之間的隨機(jī)小數(shù) 0 < RAND() <1 -- 乘以 9000,變成 0~9000 之間隨機(jī)小數(shù) 0 < RAND*9000 < 9000 -- 加上 1000,變成 0~10000 之間的隨機(jī)小數(shù) 0 < RAND*9000+1000 < 10000 -- 使用 CEILING 函數(shù)向上取整,去掉后面的小數(shù),得到一個(gè)整數(shù) -- 或使用 FLOOR 函數(shù)向下取整,都可以 CEILING(RAND()*9000+1000) -- 或 FLOOR(RAND()*9000+1000)
3. 注意
這種生成指定位數(shù)隨機(jī)數(shù)的方式還不是特別好,因?yàn)榇嬖谥貜?fù)的可能。隨機(jī)數(shù)的位數(shù)越少,重復(fù)的概率越大。所以這種方式只能在特殊場(chǎng)合有些作用。
mysql批量生成隨機(jī)數(shù)
假數(shù)據(jù):
update exercise_data set star_num=FLOOR(1 + (RAND() * 5));
rand函數(shù)隨機(jī)生成0到1的隨機(jī)數(shù),乘以5即可得到1-5的隨機(jī)數(shù),floor是的到上一個(gè)整數(shù)。
以上所述是小編給大家介紹的mysql生成指定位數(shù)的隨機(jī)數(shù)的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)本站網(wǎng)站的支持!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信