RAND (Transact-SQL)
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics
擬似乱数を返します float 0 ~ 1 の排他値。
構文
RAND ( [ seed ] )
Note
この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。
引数
seed
シード値を指定する整数の式 (tinyint、smallint、または int)。 seed が指定されていない場合、SQL Server データベース エンジンがシード値をランダムに割り当てます。 指定したシード値について、返される結果は常に同じです。
戻り値の型
float
注釈
同じシード値を使用して RAND()
を繰り返し呼び出しても、同じ結果が返されます。
1 つの接続について、指定したシード値で
RAND()
を呼び出すと、以降のすべてのRAND()
の呼び出しで、シード値を指定したRAND()
の呼び出しに基づいた結果が生成されます。 たとえば、次のクエリでは、同じ数値のシーケンスが常に返されます。SELECT RAND(100), RAND(), RAND();
UPDATE
またはINSERT
クエリでRAND()
関数を使用すると、影響を受けるすべての行が同じ値を取得します。
例
次の例では、RAND()
関数によって 4 つの異なる乱数が生成されます。
DECLARE @counter SMALLINT;
SET @counter = 1;
WHILE @counter < 5
BEGIN
SELECT RAND() Random_Number
SET @counter = @counter + 1
END;
GO