Псевдослучайное значение

Функция

Получить псевдослучайное число.

Спецификация
 
< синтаксис >::=
Синтаксические правила
  1. < Числовое выражение > должно иметь тип данных REAL или приводиться к нему.

  2. < Числовое выражение > задает создание последовательности псевдослучайных чисел, генерируемых на его основе.

  3. Если < числовое выражение > положительное число, то оно и является основанием последовательности, если отрицательное – основанием последовательности является текущая дата.

Общие правила
  1. Последовательность псевдослучайных значений инициализируется:

    • при первом выполнении функции RAND с аргументом;

    • при первом после запуска СУБД ЛИНТЕР выполнении функции RAND без аргумента. В этом случае за основание последовательности псевдослучайных значений принимается 1.

  2. Для получения очередного псевдослучайного значения функция RAND должна вызываться без аргумента.

  3. Функция RAND с одним и тем же положительным значением < числового выражения > будет всегда генерировать одинаковую последовательность псевдослучайных значений.

Возвращаемое значение

Псевдослучайное значение типа REAL в диапазоне от 0 до 1.

Пример

Инициирование последовательности и получение первого псевдослучайного значения из последовательности с данным основанием:

select rand(5);
|     0.430684101037068|

Получение псевдослучайного значения:

select rand();
|     0.430684101037068|

Инициирование последовательности и получение первого псевдослучайного значения из последовательности с другим основанием:

select rand(79);
|     0.404723714294249|

Получение псевдослучайного значения:

select rand();
|     0.528760920990613|

Воспроизведение псевдослучайных значений для последовательности с первоначальным основанием:

select rand(5);
|     0.430684101037068|

Получение псевдослучайного значения:

select rand();
|    0.0522177750487895|