mysql语句随机数_程序生成随机数与SQL语句生成随机数

随机数可以通过程序生成,也可以通过SQL语句生成。通过程序生成随机数时一般采用硬件的编号+时间作为种子,这种方法在瞬间插入数据库N条数据的时候会影响随机数的效果,生成很多相邻的插入值相同。所以频繁插入时可以使用SQL语句的内置函数生成随机数,可以避免此类事情发生。

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    //生成随机数取值范围 0-9

or

select cast( floor(rand()*10) as int)   //生成随机数取值范围 0-10

or

select a+abs(checksum(newid()))%(b-a+1)   //生成随机数取值范围 a-b

or

select rand()   //生成随机串

随机读取:

SQL Server:

Select TOP N * From TABLE Order By NewID()

NewID()函数将创建一个 uniqueidentifier 类型的唯一值。上面的语句实现效果是从Table中随机读取N条记录

Access:

Select TOP N * From TABLE Order By Rnd(ID)

Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)

MySql:

Select * From TABLE Order By Rand() Limit 10

postgreSQL:

select * from glxt022 order by random() limit 5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值