Saltar al contenido principal
Las funciones que se muestran a continuación realizan operaciones lógicas sobre argumentos de tipos numéricos arbitrarios. Devuelven 0 o 1 como UInt8 o, en algunos casos, NULL. El valor cero como argumento se considera false; los valores distintos de cero se consideran true.

and

Introducido en: v1.1.0 Calcula la conjunción lógica de dos o más valores. La configuración short_circuit_function_evaluation controla si se usa la evaluación de cortocircuito. Si está habilitada, val_i solo se evalúa si (val_1 AND val_2 AND ... AND val_{i-1}) es true. Por ejemplo, con la evaluación de cortocircuito, no se lanza ninguna excepción por división entre cero al ejecutar la consulta SELECT and(number = 2, intDiv(1, number)) FROM numbers(5). El cero como argumento se considera false; los valores distintos de cero se consideran true. Sintaxis
and(val1, val2[, ...])
Argumentos Valor devuelto Devuelve:
  • 0 si al menos un argumento se evalúa como false
  • NULL si ningún argumento se evalúa como false y al menos uno de los argumentos es NULL
  • 1 en cualquier otro caso Nullable(UInt8)
Ejemplos Uso básico
Query
SELECT and(0, 1, -2);
Response
0
Con NULL
Query
SELECT and(NULL, 1, 10, -2);
Response
ᴺᵁᴸᴸ

not

Introducido en: v1.1.0 Calcula la negación lógica de un valor. Un cero como argumento se considera false; los valores distintos de cero se consideran true. Sintaxis
not(val)
Argumentos Valor devuelto Devuelve:
  • 1, si val se evalúa como false
  • 0, si val se evalúa como true
  • NULL, si val es NULL. Nullable(UInt8)
Ejemplos Uso básico
Query
SELECT NOT(1);
Response
0

or

Introducido en: v1.1.0 Calcula la disyunción lógica de dos o más valores. La configuración short_circuit_function_evaluation controla si se usa la evaluación de cortocircuito. Si está habilitada, val_i se evalúa solo si ((NOT val_1) AND (NOT val_2) AND ... AND (NOT val_{i-1})) es true. Por ejemplo, con la evaluación de cortocircuito, no se produce ninguna excepción de división por cero al ejecutar la consulta SELECT or(number = 0, intDiv(1, number) != 0) FROM numbers(5). El cero como argumento se considera false; los valores distintos de cero se consideran true. Sintaxis
or(val1, val2[, ...])
Argumentos Valor devuelto Devuelve:
  • 1, si al menos un argumento se evalúa como true
  • 0, si todos los argumentos se evalúan como false
  • NULL, si todos los argumentos se evalúan como false y al menos uno de ellos es NULL Nullable(UInt8)
Ejemplos Uso básico
Query
SELECT or(1, 0, 0, 2, NULL);
Response
1
Con NULL
Query
SELECT or(0, NULL);
Response
ᴺᵁᴸᴸ

xor

Introducido en: v1.1.0 Calcula la disyunción exclusiva lógica de dos o más valores. Cuando hay más de dos valores de entrada, la función primero aplica xor a los dos primeros valores y luego aplica xor al resultado con el tercer valor, y así sucesivamente. El valor cero como argumento se considera false; los valores distintos de cero se consideran true. Sintaxis
xor(val1, val2[, ...])
Argumentos Valor devuelto Devuelve:
  • 1, para dos valores: si uno de los valores se evalúa como false y el otro no
  • 0, para dos valores: si ambos valores se evalúan como false o ambos como true
  • NULL, si al menos uno de los valores de entrada es NULL. Nullable(UInt8)
Ejemplos Uso básico
Query
SELECT xor(0, 1, 1);
Response
0
Última modificación el 10 de junio de 2026