RAND (Transact-SQL)
Se aplica a: SQL ServerAzure SQL Database Azure SQL Instancia administrada Azure Synapse Analytics
Devuelve un valor float pseudoaleatorio de 0 a 1, ambos excluidos.
Convenciones de sintaxis de Transact-SQL
Sintaxis
RAND ( [ seed ] )
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.
Nota:
El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.
Argumentos
seed
Es una expresión de tipo entero (tinyint, smallint o int) que proporciona el valor de inicialización. Si no se especifica inicialización, el motor de base de datos de SQL Server asigna un valor de inicialización de forma aleatoria. Para un valor de inicialización especificado, el resultado devuelto es siempre el mismo.
Tipos de valores devueltos
float
Comentarios
Las llamadas repetitivas de RAND()
con el mismo valor de inicialización devuelven los mismos resultados.
Para una conexión, si se llama a
RAND()
con el valor de inicialización especificado, todas las llamadas posteriores deRAND()
generan resultados basados en la llamada aRAND()
inicializada. Por ejemplo, la siguiente consulta siempre devuelve la misma secuencia de números.SELECT RAND(100), RAND(), RAND();
Cuando se usa la función
RAND()
en una consultaUPDATE
oINSERT
, todas las filas afectadas obtienen el mismo valor.
Ejemplos
En el siguiente ejemplo se producen cuatro números aleatorios diferentes, generados con la función RAND()
.
DECLARE @counter SMALLINT;
SET @counter = 1;
WHILE @counter < 5
BEGIN
SELECT RAND() Random_Number
SET @counter = @counter + 1
END;
GO
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Proximamente: Ao longo de 2024, retiraremos gradualmente GitHub Issues como mecanismo de comentarios sobre o contido e substituirémolo por un novo sistema de comentarios. Para obter máis información, consulte:Enviar e ver os comentarios