Логические Функции
Ниже представленные функции выполняют логические операции над аргументами произвольных числовых типов. Они возвращают либо 0, либо 1 в виде UInt8 или, в некоторых случаях, NULL.
Ноль как аргумент считается false, ненулевые значения считаются true.
and
Вычисляет логическое сопряжение двух и более значений.
Настройка 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).
Синтаксис
Псевдоним: Оператор AND.
Аргументы
Возвращаемое значение
0, если хотя бы один аргумент оценивается какfalse,NULL, если ни один аргумент не оценивается какfalseи хотя бы один аргумент равенNULL,1в противном случае.
Тип: UInt8 или Nullable(UInt8).
Пример
Результат:
С NULL:
Результат:
or
Вычисляет логическое дизъюнкцию двух и более значений.
Настройка 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).
Синтаксис
Псевдоним: Оператор OR.
Аргументы
Возвращаемое значение
1, если хотя бы один аргумент оценивается какtrue,0, если все аргументы оцениваются какfalse,NULL, если все аргументы оцениваются какfalseи хотя бы один аргумент равенNULL.
Тип: UInt8 или Nullable(UInt8).
Пример
Результат:
С NULL:
Результат:
not
Вычисляет логическую отрицательность значения.
Синтаксис
Псевдоним: Оператор Отрицания.
Аргументы
Возвращаемое значение
1, еслиvalоценивается какfalse,0, еслиvalоценивается какtrue,NULL, еслиvalравенNULL.
Тип: UInt8 или Nullable(UInt8).
Пример
Результат:
xor
Вычисляет логическую исключающую дизъюнкцию двух и более значений. Для более чем двух входных значений функция сначала вычисляет исключающую дизъюнкцию первых двух значений, затем результат XOR с третьим значением и так далее.
Синтаксис
Аргументы
Возвращаемое значение
1, для двух значений: если одно из значений оценивается какfalse, а другое — нет,0, для двух значений: если оба значения оцениваются какfalseили оба какtrue,NULL, если хотя бы одно из входных значений равноNULL.
Тип: UInt8 или Nullable(UInt8).
Пример
Результат: