RAND (Transact-SQL)
S’applique à : SQL Server base de données Azure SQL Azure SQL Managed Instance Azure Synapse Analytics
Retourne une valeur float pseudo-aléatoire, comprise entre 0 et 1, valeurs exclues.
Conventions de la syntaxe Transact-SQL
Syntaxe
RAND ( [ seed ] )
Notes
Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.
Arguments
seed
Expression entière (tinyint, smallint ou int) qui fournit la valeur de départ. Si la valeur seed n’est pas spécifiée, le Moteur de base de données SQL Server affecte une valeur de départ aléatoire. Pour une valeur de départ spécifiée, le résultat retourné est toujours le même.
Types de retour
float
Notes
Les appels répétitifs de RAND()
avec la même valeur de départ retournent les mêmes résultats.
Pour une connexion, si
RAND()
est appelé avec une valeur de départ spécifiée, tous les appels ultérieurs deRAND()
produisent des résultats en fonction de l’appel de départRAND()
. Ainsi, la requête suivante produit toujours la même séquence de numéros.SELECT RAND(100), RAND(), RAND();
Lorsque vous utilisez la fonction
RAND()
dans une requêteUPDATE
ouINSERT
, toutes les lignes affectées obtiennent la même valeur.
Exemples
L’exemple suivant produit quatre numéros aléatoires différents avec la fonction RAND()
.
DECLARE @counter SMALLINT;
SET @counter = 1;
WHILE @counter < 5
BEGIN
SELECT RAND() Random_Number
SET @counter = @counter + 1
END;
GO