Числа

RANDOM

Повертає випадкове дробове число від 0 (включно) до 1 (не включно).

Синтаксис

RANDOM()
RANDOM(<мінімум>, <максимум>)

Кожен виклик дає нове число, і кожен рядок — своє. Помнож і відкинь дробову частину — отримаєш випадкове ціле в потрібному діапазоні, а в PostgreSQL 17 і новіших є готовий запис RANDOM(1, 6). Часто — щоб вибрати випадкові рядки чи перемішати їх.

Дані для прикладів

employees

namedepartmentsalarybonusphone
Emmabackend1200300+44 7700 900123
Liambackend1000NULLNULL
Oliviafrontend1350150+44 7700 900456
Noahfrontend950NULL+44 7700 900789
Sophiadesign1200200NULL

Ці таблиці вже створено в пісочниці — приклади нижче працюють із ними. Хочеш повторити у своїй базі — скопіюй SQL.

Випадкове число
SELECT RANDOM() AS random_number;
random_number
0.8767955776954344

Результат щоразу інший — натисни «Виконати» кілька разів.

Кубик: ціле від 1 до 6
SELECT FLOOR(RANDOM() * 6) + 1 AS dice,
RANDOM(1, 6) AS dice_pg17;
dicedice_pg17
34
Випадковий працівник
SELECT name
FROM employees
ORDER BY RANDOM()
LIMIT 1;
name
Noah

Зверни увагу

ROUND(RANDOM() * 6) дає нерівний розподіл: 0 і 6 випадають удвічі рідше за решту чисел. Для цілого бери FLOOR(RANDOM() * 6) + 1.

ORDER BY RANDOM() перебирає й сортує всю таблицю. На мільйонах рядків це повільно — для великих таблиць є TABLESAMPLE.

Для паролів, токенів і всього, що має бути непередбачуваним, RANDOM не годиться. Випадковий ідентифікатор дає gen_random_uuid().

Схожі функції