RAND (Transact-SQL)
適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
傳回介於 0 到 1 (不含) 之間的似隨機 float。
RAND ( [ seed ] )
注意
Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。
為提供初始值的整數運算式 (tinyint、smallint,或 int)。 如果未指定 seed,SQL Server 資料庫引擎 會隨機指派種子值。 只要指定初始值之後,傳回的結果一律相同。
float
具有相同種子值的重複呼叫 RAND()
會傳回相同的結果。
如果是一個連接,如果
RAND()
以指定的種子值呼叫,則所有後續呼叫都會根據植入RAND()
的呼叫RAND()
產生結果。 例如,下列查詢一律會傳回相同的數位序列。SELECT RAND(100), RAND(), RAND();
當您在 或
INSERT
查詢中使用UPDATE
函RAND()
式時,所有受影響的數據列都會取得相同的值。
下列範例會產生函式所產生的 RAND()
四個不同的隨機數。
DECLARE @counter SMALLINT;
SET @counter = 1;
WHILE @counter < 5
BEGIN
SELECT RAND() Random_Number
SET @counter = @counter + 1
END;
GO