RAND (Transact-SQL)RAND (Transact-SQL)

Aplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions) SimBanco de Dados SQL do AzureAzure SQL DatabaseYesBanco de Dados SQL do AzureAzure SQL Database SimInstância Gerenciada do Azure SQLAzure SQL Managed InstanceYesInstância Gerenciada do Azure SQLAzure SQL Managed Instance simAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse AnalyticsAplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions) SimBanco de Dados SQL do AzureAzure SQL DatabaseYesBanco de Dados SQL do AzureAzure SQL Database SimInstância Gerenciada do Azure SQLAzure SQL Managed InstanceYesInstância Gerenciada do Azure SQLAzure SQL Managed Instance simAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics

Retorna um valor float pseudoaleatório de 0 a 1, exclusivo.Returns a pseudo-random float value from 0 through 1, exclusive.

Ícone de link do tópico Convenções da sintaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

RAND ( [ seed ] )  

Observação

Para ver a sintaxe do Transact-SQL para o SQL Server 2014 e versões anteriores, confira a Documentação das versões anteriores.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

Observação

Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.This syntax is not supported by serverless SQL pool in Azure Synapse Analytics.

ArgumentosArguments

seedseed
É um número inteiro expressão (tinyint, smallint ou int) que fornece o valor de semente.Is an integer expression (tinyint, smallint, or int) that gives the seed value. Se seed não estiver especificado, o Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine atribuirá um valor de semente aleatório.If seed is not specified, the Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine assigns a seed value at random. Para um valor de semente especificado, o resultado retornado é sempre o mesmo.For a specified seed value, the result returned is always the same.

Tipos de retornoReturn Types

floatfloat

ComentáriosRemarks

Chamadas repetitivas de RAND() com o mesmo valor de semente retornam os mesmos resultados.Repetitive calls of RAND() with the same seed value return the same results.

Para uma conexão, se RAND() for chamada com uma valor de semente especificado, todas as chamadas subsequentes de RAND() produzirão resultados com base na chamada de RAND() propagada.For one connection, if RAND() is called with a specified seed value, all subsequent calls of RAND() produce results based on the seeded RAND() call. Por exemplo, a consulta a seguir sempre retornará a mesma sequência de números.For example, the following query will always return the same sequence of numbers.

SELECT RAND(100), RAND(), RAND()   

ExemplosExamples

O exemplo a seguir produz quatro números aleatórios diferentes que são gerados pela função RAND.The following example produces four different random numbers that are generated by the RAND function.

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

Consulte TambémSee Also

Funções matemáticas (Transact-SQL)Mathematical Functions (Transact-SQL)