SQL Server 中的 RAND()函数
原文:https://www.geeksforgeeks.org/rand-function-in-sql-server/
RAND()函数: 这个函数在 SQL Server 中用来返回一个随机的十进制值,这个值在大于等于零(> =0)且小于 1 的范围内。如果我们想要获得范围 i < = R < j 的随机整数 R,我们必须使用表达式“FLOOR(I+RAND()*(j-I))”。
特征:
- 这个函数用来给出一个随机的十进制值。
- 返回值介于 0(包含)和 1(不包含)之间。
- 如果这个函数不接受任何参数,它将返回一个完全随机的数字。
- 如果这个函数接受一个参数,它将返回一个可重复的随机数序列。
- 该函数接受可选参数。
- 该函数使用公式 “FLOOR(I+RAND()*(j-I))”得到一个随机整数 R, ,其中 R 位于“i < = R < j”的范围内。
*语法:*
RAND(N)
*参数:* 该方法接受如下参数:
- *N :* 如果指定了 N,则返回一个可重复的随机数序列。如果没有指定 N,它将返回一个完全随机的数字。它是可选的,可以作为种子值。
*返回:* 返回 0(含)到 1(不含)之间的随机数。
*示例-1 :* 获取 0 到 1 之间的随机值。
SELECT RAND();
*输出:*
0.37892290119984562
*示例-2 :* 获取种子值为 5 的随机十进制数。
SELECT RAND(5);
*输出:*
0.71366652509795636
*示例-3 :* 使用带有变量的 RAND()函数,并使用 RAND 函数获得介于[ 2,8]范围内的随机数。这里,我们将使用表达式:FLOOR(I+RAND()(j-I))来生成随机数。这里,I 是 2,j 是 8。*
DECLARE @i INT;
DECLARE @j INT;
SET @i = 2;
SET @j = 8;
SELECT FLOOR(@i + RAND()*(@j-@i));
*输出:*
7.0
*示例-4 :* 使用 RAND 函数获取介于[ 3,9 ]范围内的随机值。这里,我们将使用表达式:FLOOR(I+RAND()(j I+1))来生成随机数。这里我是 3,j 是 9。*
SELECT FLOOR(3 + RAND()*(9 - 3 + 1));
*输出:*
9.0
*应用:* 该函数用于返回 0(含)到 1(不含)之间的随机数。
版权属于:月萌API www.moonapi.com,转载请注明出处