Логические функции

Нижеперечисленные функции выполняют логические операции над аргументами произвольных числовых типов. Они возвращают либо 0, либо 1 типа UInt8 или в некоторых случаях NULL.

Ноль в качестве аргумента рассматривается как ложь, ненулевые значения считаются истиной.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL. Ознакомиться с актуальным списком функций и их поведением можно в официальном репозитории ClickHouse, выбрав нужную версию из веток. Например: список логических функций для ClickHouse 24.7.

Table 1. Логические функции
Функция Описание

and(val1, val2…​)

Вычисляет результат логической конъюнкции (логического "И") между двумя или более значениями. Возвращает 1, если все аргументы истинны (ненулевые), 0 — если хотя бы один аргумент ложен (ноль), и NULL, если среди аргументов нет нулей, но есть хотя бы один NULL.

or(val1, val2…​)

Вычисляет результат логической дизъюнкции (логического "ИЛИ") между двумя или более значениями. Возвращает 1, если хотя бы один аргумент истинен (ненулевой), 0 — если все аргументы ложны (нули), и NULL, если среди аргументов нет ненулевых значений и есть NULL.

not(val)

Вычисляет логическое отрицание (НЕ) аргумента. Возвращает 1, если аргумент ложен (ноль), 0 — если аргумент истинен (ненулевой), и NULL, если аргумент NULL.

xor(val1, val2…​)

Вычисляет результат логической исключающей дизъюнкции (XOR) между двумя или более значениями. Для пары значений возвращает 1, если одно из значений истинно (ненулевое), а другое ложно (ноль). Возвращает 0, если оба значения одинаковы (оба нули или оба ненулевые). Для более чем двух значений применяется рекурсивно. Возвращает NULL, если среди аргументов хотя бы один NULL.