程序生成随机数与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() //生成随机串