RAND (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

Возвращает псевдослучайное значение типа float от 0 до 1.

Соглашения о синтаксисе Transact-SQL

Синтаксис

RAND ( [ seed ] )

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Примечание.

Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Аргументы

seed

Целочисленное выражение (tinyint, smallint или int), задающее начальное значение. Если начальное значение не указано, SQL Server ядро СУБД назначает начальное значение случайным образом. Для указанного начального значения возвращаемый результат всегда будет один и тот же.

Типы возвращаемых данных

float

Замечания

Повторяющиеся вызовы с тем же значением начального RAND() значения возвращают одинаковые результаты.

  • Для одного подключения, если RAND() вызывается указанное начальное значение, все последующие вызовы RAND() создают результаты на основе заполненного RAND() вызова. Например, следующий запрос всегда возвращает ту же последовательность чисел.

    SELECT RAND(100), RAND(), RAND();
    
  • При использовании RAND() функции в объекте UPDATE или INSERT запросе все затронутые строки получают одно и то же значение.

Примеры

В следующем примере создаются четыре разных случайных числа, созданных функцией RAND() .

DECLARE @counter SMALLINT;

SET @counter = 1;

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

См. также