📜  SQL Server 中的 RAND()函数

📅  最后修改于: 2022-05-13 01:55:05.227000             🧑  作者: Mango

SQL Server 中的 RAND()函数

兰德()函数:
SQL Server中的这个函数用于返回一个随机的十进制值,该值位于大于等于零(>=0)且小于 1 的范围内。 = R < j,我们必须使用表达式“ 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))来生成随机数。这里 i 是 3,j 是 9。

SELECT FLOOR(3 + RAND()*(9 - 3 + 1));

输出 :

9.0

应用 :
该函数用于返回一个介于 0(含)和 1(不含)之间的随机数。