BOOL_OR
Возвращает true, если логическое выражение истинно хотя бы для одной строки группы.
PostgreSQL 17.5
BOOL_OR(expression)Параметры
- expressionboolean
- Логическое выражение или столбец типа boolean
Возвращаемое значение
true, false или NULL
Примеры
NULL среди значений
PostgreSQL 17.5
SELECT BOOL_AND(x) AS all_true,
BOOL_OR(x) AS any_true
FROM (
VALUES (TRUE),
(NULL),
(false)
) AS t(x);Есть ли телевизор хотя бы в одной комнате
PostgreSQL 17.5
SELECT home_type,
BOOL_OR(has_tv) AS some_have_tv,
COUNT(*) AS rooms
FROM Rooms
GROUP BY home_type
ORDER BY home_type;Подробности
NULL не учитываются, для пустого набора результат NULL. Тот же ответ даёт COUNT(*) FILTER (WHERE ...) > 0, но BOOL_OR короче.