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

and

Добавленный в: v1.1.0 Вычисляет логическую конъюнкцию двух или более значений. Настройка short_circuit_function_evaluation определяет, используется ли укороченное вычисление. Если она включена, val_i вычисляется, только если (val_1 AND val_2 AND ... AND val_{i-1}) равно true. Например, при укороченном вычислении при выполнении запроса SELECT and(number = 2, intDiv(1, number)) FROM numbers(5) исключение деления на ноль не генерируется. Ноль в качестве аргумента считается false, ненулевые значения считаются true. Синтаксис
and(val1, val2[, ...])
Аргументы Возвращаемое значение Возвращает:
  • 0, если хотя бы один аргумент равен false
  • NULL, если ни один аргумент не равен false и хотя бы один аргумент равен NULL
  • 1 в противном случае Nullable(UInt8)
Примеры Базовое использование
Query
SELECT and(0, 1, -2);
Response
0
С NULL
Query
SELECT and(NULL, 1, 10, -2);
Response
ᴺᵁᴸᴸ

not

Добавленный в: v1.1.0 Вычисляет логическое отрицание значения. Ноль в качестве аргумента считается false, а ненулевые значения — true. Синтаксис
not(val)
Аргументы Возвращаемое значение Возвращает:
  • 1, если val интерпретируется как false
  • 0, если val интерпретируется как true
  • NULL, если val равно NULL. Nullable(UInt8)
Примеры Базовое использование
Query
SELECT NOT(1);
Response
0

or

Добавленный в: v1.1.0 Вычисляет логическое ИЛИ двух или более значений. Параметр short_circuit_function_evaluation определяет, используется ли укороченное вычисление. Если он включен, val_i вычисляется только в том случае, если ((NOT val_1) AND (NOT val_2) AND ... AND (NOT val_{i-1})) равно true. Например, при укороченном вычислении при выполнении запроса SELECT or(number = 0, intDiv(1, number) != 0) FROM numbers(5) исключение из-за деления на ноль не генерируется. Ноль в качестве аргумента считается false, а ненулевые значения — true. Синтаксис
or(val1, val2[, ...])
Аргументы Возвращаемое значение Возвращает:
  • 1, если хотя бы один аргумент вычисляется в true
  • 0, если все аргументы вычисляются в false
  • NULL, если все аргументы вычисляются в false и хотя бы один аргумент имеет значение NULL Nullable(UInt8)
Примеры Базовое использование
Query
SELECT or(1, 0, 0, 2, NULL);
Response
1
С NULL
Query
SELECT or(0, NULL);
Response
ᴺᵁᴸᴸ

xor

Добавленный в: v1.1.0 Вычисляет логическое исключающее ИЛИ для двух или более значений. Если входных значений больше двух, функция сначала применяет xor к первым двум значениям, затем — к результату и третьему значению и так далее. Ноль в качестве аргумента считается false, ненулевые значения считаются true. Синтаксис
xor(val1, val2[, ...])
Аргументы Возвращаемое значение Возвращает:
  • 1, для двух значений: если одно из значений равно false, а другое — нет
  • 0, для двух значений: если оба значения равны false или оба равны true
  • NULL, если хотя бы одно из входных значений равно NULL. Nullable(UInt8)
Примеры Базовое использование
Query
SELECT xor(0, 1, 1);
Response
0
Последнее изменение 10 июня 2026 г.