Freigeben über


RAND (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics

Gibt einen float-Pseudozufallswert von ausschließlich 0 bis 1 zurück.

Transact-SQL-Syntaxkonventionen

Syntax

RAND ( [ seed ] )

Hinweis

Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.

Argumente

seed

Ein ganzzahliger Ausdruck (tinyint, smallint oder int), der den Ausgangswert zurückgibt. Wenn seed nicht angegeben ist, weist SQL Server-Datenbank-Engine einen zufälligen Ausgangswert zu. Für einen bestimmten Ausgangswert ist das zurückgegebene Ergebnis immer gleich.

Rückgabetypen

float

Hinweise

Bei wiederholten Aufrufen von RAND() mit demselben Ausgangswert werden dieselben Ergebnisse zurückgegeben.

  • Wenn für eine bestimmte Verbindung RAND() mit einem angegebenen Ausgangswert aufgerufen wird, führen alle nachfolgenden Aufrufe von RAND() zu Ergebnissen, die auf dem RAND()-Ausgangsaufruf basieren. Durch die folgende Abfrage wird z. B. immer dieselbe Nummernreihenfolge zurückgegeben.

    SELECT RAND(100), RAND(), RAND();
    
  • Wenn Sie die RAND()-Funktion in einer UPDATE- oder INSERT-Abfrage verwenden, erhalten alle betroffenen Zeilen denselben Wert.

Beispiele

Das folgende Beispiel führt zu vier Zufallszahlen, die von der RAND()-Funktion generiert werden.

DECLARE @counter SMALLINT;

SET @counter = 1;

WHILE @counter < 5
BEGIN
    SELECT RAND() Random_Number
    SET @counter = @counter + 1
END;
GO

Siehe auch