RAND(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

0부터 1까지의 배타적 의사 난수 float 값을 반환합니다.

Transact-SQL 구문 표기 규칙

Syntax

RAND ( [ seed ] )

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

참고 항목

이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.

인수

seed

초기값을 제공하는 정수 (tinyint, smallint 또는 int)입니다. 시드를 지정하지 않으면 SQL Server 데이터베이스 엔진 시드 값을 임의로 할당합니다. 지정된 초기값에 대해 반환된 결과는 항상 동일합니다.

반환 형식

float

설명

시드 값이 RAND() 동일한 반복 호출은 동일한 결과를 반환합니다.

  • 한 연결의 경우 지정된 시드 값을 사용하여 호출되는 경우 RAND() 모든 후속 호출은 시드된 RAND() 호출 RAND() 을 기반으로 결과를 생성합니다. 예를 들어 다음 쿼리는 항상 동일한 숫자 시퀀스를 반환합니다.

    SELECT RAND(100), RAND(), RAND();
    
  • 또는 INSERT 쿼리에서 함수를 UPDATE 사용하면 RAND() 영향을 받는 모든 행이 동일한 값을 얻습니다.

예제

다음 예제에서는 함수에서 생성된 네 가지 난수를 생성 RAND() 합니다.

DECLARE @counter SMALLINT;

SET @counter = 1;

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

참고 항목