SQL Server 的 RAND 函数是一个数学函数,用于返回零和一之间的伪随机数。RAND 函数生成的值在 0(包含)到 1(不包含)之间。
RAND 函数的基本语法如下所示。
SELECT RAND(seed) FROM [Source]
Seed:它是一个整数表达式,类型为 int、tinyint 或 smallint。
- 如果省略此参数,则会自动随机分配种子值。
- 如果指定了种子值,则结果将始终相同。
SQL服务器RAND 函数示例
RAND 函数返回 0 到 1 之间的伪随机数。在此示例中,我们将检查这一点并显示输出。
前三行代码将返回随机值。如果您看到下面的屏幕截图,我们调用了 RAND 函数三次,它返回了三个不同的(随机)值。
在接下来的两个语句中,我们将 RAND 函数直接应用于正数值 12 和 150。我们还使用 ALIAS 列为结果分配了一个新名称。
接下来,我们将此 数学方法 直接应用于负数值 -120 和 -980。
SELECT RAND() AS [Random Result 1] SELECT RAND() AS [Random Result 2] SELECT RAND() AS [Random Result 3] SELECT RAND(12) AS [Random Result 4] SELECT RAND(150) AS [Random Result 5] SELECT RAND(-120) AS [Random Result 6] SELECT RAND(-980) AS [Random Result 7]

RAND 函数示例 2
在此示例中,我们将在 WHILE LOOP 中使用 SQL RAND 函数。
我建议您参考 SUBSTRING、ALIAS 和 WHILE LOOP 的文章,以了解 SQL Server 查询执行。
如果您观察到下面的屏幕截图,由于我们没有指定种子值,第一个语句在每次迭代中都返回不同的结果。
下一个语句因为我们指定种子值为 10,所以在每次迭代中返回相同的结果。
DECLARE @i INT SET @i = 0; WHILE @i <= 10 BEGIN SELECT RAND() AS [Random Result], RAND(10) AS [Random Seed Result 1], RAND(10 * @i) AS [Random Seed Result 2] SET @i = @i + 1 END;
