SQL Server中的随机数生成

Vig*_*h M 2 sql sql-server random sql-server-2008 sql-server-2012

我需要为每行在两个数字之间生成一个随机数。

例如:

选择COLNAME, (随机号到2000 1500之间)从表名

提前致谢

Ani*_*bhi 5

随机数公式为

随机十进制范围

SELECT RAND()*(b-a)+a;
Run Code Online (Sandbox Code Playgroud)

SELECT RAND()*(25-10)+10; // Random between 10 to 25 
Run Code Online (Sandbox Code Playgroud)

随机整数范围

SELECT FLOOR(RAND()*(b-a)+a);
Run Code Online (Sandbox Code Playgroud)

SELECT FLOOR(RAND()*(25-10)+10);
Run Code Online (Sandbox Code Playgroud)


Pரத*_*ீப் 5

DECLARE @start INT
DECLARE @end INT

SET @start = 1500
SET @end = 2000

SELECT  Round(( ( @end - @start - 1 ) * Rand() + @start ), 0)
Run Code Online (Sandbox Code Playgroud)

更新: 获取每行的随机数。

select ABS(Checksum(NewID()) % (@end-@start)) + @start
Run Code Online (Sandbox Code Playgroud)