mysql语句随机数_程序生成随机数与SQL语句生成随机数
隨機(jī)數(shù)可以通過(guò)程序生成,也可以通過(guò)SQL語(yǔ)句生成。通過(guò)程序生成隨機(jī)數(shù)時(shí)一般采用硬件的編號(hào)+時(shí)間作為種子,這種方法在瞬間插入數(shù)據(jù)庫(kù)N條數(shù)據(jù)的時(shí)候會(huì)影響隨機(jī)數(shù)的效果,生成很多相鄰的插入值相同。所以頻繁插入時(shí)可以使用SQL語(yǔ)句的內(nèi)置函數(shù)生成隨機(jī)數(shù),可以避免此類事情發(fā)生。
Demo:
====================================================================================
C#:
int min=0,max=10;
Random random = new Random(); ??????????? int newNumber = random.Next(min, max);?? //newNumber 取值在 min和max之間(0-10)
T-SQL:
select abs(checksum(newid()))%10??? //生成隨機(jī)數(shù)取值范圍 0-9
or
select cast( floor(rand()*10) as int)?? //生成隨機(jī)數(shù)取值范圍 0-10
or
select a+abs(checksum(newid()))%(b-a+1)?? //生成隨機(jī)數(shù)取值范圍 a-b
or
select rand()?? //生成隨機(jī)串
隨機(jī)讀取:
SQL Server:
Select TOP N * From TABLE Order By NewID()
NewID()函數(shù)將創(chuàng)建一個(gè) uniqueidentifier 類型的唯一值。上面的語(yǔ)句實(shí)現(xiàn)效果是從Table中隨機(jī)讀取N條記錄
Access:
Select TOP N * From TABLE Order By Rnd(ID)
Rnd(ID) 其中的ID是自動(dòng)編號(hào)字段,可以利用其他任何數(shù)值來(lái)完成,比如用姓名字段(UserName)
MySql:
Select * From TABLE Order By Rand() Limit 10
postgreSQL:
select * from glxt022 order by random() limit 5
總結(jié)
以上是生活随笔為你收集整理的mysql语句随机数_程序生成随机数与SQL语句生成随机数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 华为服务器驱动_不可错过的华为核心概念股
- 下一篇: php mysql redis mq_d