Логические Функции
Ниже приведенные функции выполняют логические операции над аргументами произвольных числовых типов. Они возвращают либо 0, либо 1 как UInt8 или в некоторых случаях NULL.
Ноль как аргумент считается ложным, ненулевые значения считаются истинными.
and
Вычисляет логическое произведение двух или более значений.
Настройка short_circuit_function_evaluation контролирует, используется ли короткая оценка. Если включено, val_i оценивается только в том случае, если (val_1 AND val_2 AND ... AND val_{i-1}) равно истинно. Например, с короткой оценкой не происходит исключение деления на ноль при выполнении запроса SELECT and(number = 2, intDiv(1, number)) FROM numbers(5).
Синтаксис
Псевдоним: Оператор AND.
Аргументы
Возвращаемое значение
- 0, если хотя бы один аргумент оценивается как- ложный,
- NULL, если ни один аргумент не оценивается как- ложныйи хотя бы один аргумент равен- 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})) равняется истинно. Например, с короткой оценкой не происходит исключение деления на ноль при выполнении запроса SELECT or(number = 0, intDiv(1, number) != 0) FROM numbers(5).
Синтаксис
Псевдоним: Оператор OR.
Аргументы
Возвращаемое значение
- 1, если хотя бы один аргумент оценивается как- истинный,
- 0, если все аргументы оцениваются как- ложные,
- NULL, если все аргументы оцениваются как- ложныеи хотя бы один аргумент равен- NULL.
Тип: UInt8 или Nullable(UInt8).
Пример
Результат:
С NULL:
Результат:
not
Вычисляет логическое отрицание значения.
Синтаксис
Псевдоним: Оператор отрицания.
Аргументы
Возвращаемое значение
- 1, если- valоценивается как- ложный,
- 0, если- valоценивается как- истинный,
- NULL, если- valравен- NULL.
Тип: UInt8 или Nullable(UInt8).
Пример
Результат:
xor
Вычисляет логическое исключающее сложение двух или более значений. Для более чем двух входных значений функция сначала выполняет XOR для первых двух значений, затем выполняет XOR для результата с третьим значением и так далее.
Синтаксис
Аргументы
Возвращаемое значение
- 1, для двух значений: если одно из значений оценивается как- ложный, а другое — нет,
- 0, для двух значений: если оба значения оцениваются как- ложныеили оба- истинные,
- NULL, если хотя бы одно из входных значений равно- NULL.
Тип: UInt8 или Nullable(UInt8).
Пример
Результат:
