RAND (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics
Retorna um valor float pseudoaleatório de 0 a 1, exclusivo.
Convenções de sintaxe de Transact-SQL
Sintaxe
RAND ( [ seed ] )
Observação
Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.
Argumentos
seed
É um número inteiro expressão (tinyint, smallint ou int) que fornece o valor de semente. Se seed não estiver especificado, o Mecanismo de Banco de Dados do SQL Server atribuirá um valor de semente aleatório. Para um valor de semente especificado, o resultado retornado é sempre o mesmo.
Tipos de retorno
float
Comentários
Chamadas repetitivas de RAND()
com o mesmo valor de semente retornam os mesmos resultados.
Para uma conexão, se
RAND()
for chamada com uma valor de semente especificado, todas as chamadas subsequentes deRAND()
produzirão resultados com base na chamada deRAND()
propagada. Por exemplo, a consulta a seguir sempre retorna a mesma sequência de números.SELECT RAND(100), RAND(), RAND();
Quando você usa a função
RAND()
em uma consultaUPDATE
ouINSERT
, todas as linhas afetadas obtêm o mesmo valor.
Exemplos
O exemplo a seguir produz quatro números aleatórios diferentes gerados pela função RAND()
.
DECLARE @counter SMALLINT;
SET @counter = 1;
WHILE @counter < 5
BEGIN
SELECT RAND() Random_Number
SET @counter = @counter + 1
END;
GO