Pular para o conteúdo principal
As funções abaixo executam operações lógicas em argumentos de tipos numéricos arbitrários. Elas retornam 0 ou 1 como UInt8 ou, em alguns casos, NULL. Zero como argumento é considerado false, e valores diferentes de zero são considerados true.

and

Introduzido em: v1.1.0 Calcula a conjunção lógica de dois ou mais valores. A configuração short_circuit_function_evaluation controla se a avaliação de curto-circuito é utilizada. Se estiver habilitada, val_i será avaliado somente se (val_1 AND val_2 AND ... AND val_{i-1}) for true. Por exemplo, com a avaliação de curto-circuito, nenhuma exceção de divisão por zero é gerada ao executar a consulta SELECT and(number = 2, intDiv(1, number)) FROM numbers(5). Zero como argumento é considerado false; valores diferentes de zero são considerados true. Sintaxe
and(val1, val2[, ...])
Argumentos Valor retornado Retorna:
  • 0, se pelo menos um argumento resultar em false
  • NULL, se nenhum argumento resultar em false e pelo menos um argumento for NULL
  • 1, caso contrário Nullable(UInt8)
Exemplos Uso básico
Query
SELECT and(0, 1, -2);
Response
0
Com NULL
Query
SELECT and(NULL, 1, 10, -2);
Response
ᴺᵁᴸᴸ

not

Introduzido em: v1.1.0 Calcula a negação lógica de um valor. Zero como argumento é considerado false; valores diferentes de zero são considerados true. Sintaxe
not(val)
Argumentos Valor retornado Retorna:
  • 1, se val resultar em false
  • 0, se val resultar em true
  • NULL, se val for NULL. Nullable(UInt8)
Exemplos Uso básico
Query
SELECT NOT(1);
Response
0

or

Introduzido em: v1.1.0 Calcula a disjunção lógica de dois ou mais valores. A configuração short_circuit_function_evaluation determina se a avaliação de curto-circuito será usada. Se estiver habilitada, val_i será avaliado apenas se ((NOT val_1) AND (NOT val_2) AND ... AND (NOT val_{i-1})) for true. Por exemplo, com a avaliação de curto-circuito, nenhuma exceção de divisão por zero é lançada ao executar a consulta SELECT or(number = 0, intDiv(1, number) != 0) FROM numbers(5). Zero como argumento é considerado false, e valores diferentes de zero são considerados true. Sintaxe
or(val1, val2[, ...])
Argumentos Valor retornado Retorna:
  • 1, se pelo menos um argumento resultar em true
  • 0, se todos os argumentos resultarem em false
  • NULL, se todos os argumentos resultarem em false e pelo menos um argumento for NULL Nullable(UInt8)
Exemplos Uso básico
Query
SELECT or(1, 0, 0, 2, NULL);
Response
1
Com NULL
Query
SELECT or(0, NULL);
Response
ᴺᵁᴸᴸ

xor

Introduzido em: v1.1.0 Calcula a disjunção exclusiva lógica de dois ou mais valores. Para mais de dois valores de entrada, a função primeiro aplica xor aos dois primeiros valores e, em seguida, aplica xor ao resultado com o terceiro valor, e assim por diante. Zero como argumento é considerado false; valores diferentes de zero são considerados true. Sintaxe
xor(val1, val2[, ...])
Argumentos Valor retornado Retorna:
  • 1, para dois valores: se um dos valores resultar em false e o outro não
  • 0, para dois valores: se ambos os valores resultarem em false ou ambos em true
  • NULL, se pelo menos um dos valores de entrada for NULL. Nullable(UInt8)
Exemplos Uso básico
Query
SELECT xor(0, 1, 1);
Response
0
Última modificação em 10 de junho de 2026