小編給大家分享一下mysql如何生成指定位數(shù)的隨機(jī)數(shù)及批量生成隨機(jī)數(shù),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司是少有的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、營銷型企業(yè)網(wǎng)站、小程序定制開發(fā)、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,從2013年開始,堅(jiān)持透明化,價(jià)格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評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ù)的概率越大。所以這種方式只能在特殊場合有些作用。
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ù)及批量生成隨機(jī)數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。