日期:2014-05-19  浏览次数:20485 次

请教一个sql的随机数问题~!高手请进!!!!
问题:
随机生成1-13的的随机数
SELECT   CAST(10000*RAND()   AS   INT)%13+1
但是随机生成的数10-13的比较多,1-9比较少,能不能控制一下,让它们出现的机率相等或少差点啊?

------解决方案--------------------
try:
SELECT (ABS(CHECKSUM(NEWID())) % 13)+1
------解决方案--------------------
直接

SELECT CAST(13*RAND() AS INT)+1

------解决方案--------------------
SELECT CAST(10000*RAND() AS INT)%13+1

和Yang_(扬帆破浪) 兄定的是一樣

------解决方案--------------------

SELECT CAST( RAND()*13 AS INT)+1

------解决方案--------------------
select ceiling(13*rand())+1