RAND (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics
Restituisce un valore float pseudocasuale compreso tra 0 e 1 (esclusi).
Convenzioni relative alla sintassi Transact-SQL
Sintassi
RAND ( [ seed ] )
Nota
Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.
Argomenti
seed
Espressione Integer (tinyint, smallint o int) che specifica il valore di inizializzazione. Se il valore di inizializzazione non è specificato, SQL Server motore di database assegna un valore di inizializzazione in modo casuale. Per un valore di inizializzazione specificato, il risultato restituito è sempre lo stesso.
Tipi restituiti
float
Osservazioni:
Le chiamate ripetitive di con lo stesso valore di RAND()
inizializzazione restituiscono gli stessi risultati.
Per una connessione, se
RAND()
viene chiamato con un valore di inizializzazione specificato, tutte le chiamate successive diRAND()
producono risultati in base alla chiamata con seedingRAND()
. Ad esempio, la query seguente restituisce sempre la stessa sequenza di numeri.SELECT RAND(100), RAND(), RAND();
Quando si usa la
RAND()
funzione in unaUPDATE
query oINSERT
, tutte le righe interessate ottengono lo stesso valore.
Esempi
Nell'esempio seguente vengono generati quattro numeri casuali diversi generati dalla RAND()
funzione .
DECLARE @counter SMALLINT;
SET @counter = 1;
WHILE @counter < 5
BEGIN
SELECT RAND() Random_Number
SET @counter = @counter + 1
END;
GO