當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


SQL Server RAND()用法及代碼示例

RAND()函數:
SQL Server中的此函數用於返回一個隨機的十進製值,並且該值位於大於等於零(> = 0)且小於1的範圍內。如果要獲得i <範圍內的隨機整數R = 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))生成隨機數。在這裏我是3而j是9。

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

輸出:

9.0

應用:
此函數用於返回0(含)和1(不含)之間的隨機數。

相關用法


注:本文由純淨天空篩選整理自Kanchan_Ray大神的英文原創作品 RAND() Function in SQL Server。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。