Перейти к основному содержимому
Версия: 2.0.x

bool_or

Возвращает true, если хотя бы одна строка для expr имеет значение true. В противном случае возвращает false. boolor_agg является псевдонимом для этой функции.

Синтаксис

bool_or(expr)

Параметры

expr: Выражение должно вычисляться до булева значения, то есть true или false.

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

Возвращает булево значение. Ошибка возвращается, если expr не существует.

Примечания по использованию

Эта функция игнорирует значения NULL.

Примеры

  1. Создайте таблицу с именем employees.

    CREATE TABLE IF NOT EXISTS employees (
    region_num TINYINT,
    id BIGINT,
    is_manager BOOLEAN
    )
    DISTRIBUTED BY HASH(region_num);
  2. Вставьте данные в employees.

    INSERT INTO employees VALUES
    (3,432175, TRUE),
    (4,567832, FALSE),
    (3,777326, FALSE),
    (5,342611, TRUE),
    (2,403882, FALSE);
  3. Запросите данные из employees.

    MySQL > select * from employees;
    +------------+--------+------------+
    | region_num | id | is_manager |
    +------------+--------+------------+
    | 3 | 432175 | 1 |
    | 4 | 567832 | 0 |
    | 3 | 777326 | 0 |
    | 5 | 342611 | 1 |
    | 2 | 403882 | 0 |
    +------------+--------+------------+
    5 rows in set (0.01 sec)
  4. Используйте эту функцию для проверки наличия менеджеров в каждом регионе.

    Пример 1: Проверить, есть ли хотя бы один менеджер в каждом регионе.

    MySQL > SELECT region_num, bool_or(is_manager) from employees
    group by region_num;

    +------------+---------------------+
    | region_num | bool_or(is_manager) |
    +------------+---------------------+
    | 3 | 1 |
    | 4 | 0 |
    | 5 | 1 |
    | 2 | 0 |
    +------------+---------------------+
    4 rows in set (0.01 sec)

Ключевое слово

BOOL_OR, bool_or, boolor_agg