Перейти к основному содержимому
Версия: 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