Saltar al contenido principal

assumeNotNull

Introducida en: v1.1.0 Devuelve el valor correspondiente no Nullable para un valor de tipo Nullable. Si el valor original es NULL, puede devolverse un resultado arbitrario. Vea también: las funciones ifNull y coalesce. Sintaxis
assumeNotNull(x)
Argumentos
  • x — El valor original de cualquier tipo Nullable. Nullable(T)
Valor devuelto Devuelve el valor no Nullable si el valor original no era NULL; de lo contrario, devuelve un valor arbitrario si el valor de entrada es NULL. Any Ejemplos Ejemplo de uso
Query
CREATE TABLE t_null (x Int8, y Nullable(Int8))
ENGINE=MergeTree()
ORDER BY x;

INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT assumeNotNull(y) FROM table;
SELECT toTypeName(assumeNotNull(y)) FROM t_null;
Response
┌─assumeNotNull(y)─┐
│                0 │
│                3 │
└──────────────────┘
┌─toTypeName(assumeNotNull(y))─┐
│ Int8                         │
│ Int8                         │
└──────────────────────────────┘

coalesce

Introducido en: v1.1.0 Devuelve el argumento no NULL situado más a la izquierda. Sintaxis
coalesce(x[, y, ...])
Argumentos
  • x[, y, ...] — Cualquier número de parámetros de tipo no compuesto. Todos los parámetros deben ser de tipos de datos compatibles entre sí. Any
Valor devuelto Devuelve el primer argumento que no es NULL, o NULL si todos los argumentos son NULL. Any o NULL Ejemplos Ejemplo de uso
Query
-- Considerar una lista de contactos que puede especificar múltiples formas de contactar a un cliente.

CREATE TABLE aBook
(
    name String,
    mail Nullable(String),
    phone Nullable(String),
    telegram Nullable(UInt32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO aBook VALUES ('client 1', NULL, '123-45-67', 123), ('client 2', NULL, NULL, NULL);

-- Los campos mail y phone son de tipo String, pero el campo telegram es UInt32, por lo que debe convertirse a String.

-- Obtener el primer método de contacto disponible para el cliente de la lista de contactos

SELECT name, coalesce(mail, phone, CAST(telegram,'Nullable(String)')) FROM aBook;
Response
┌─name─────┬─coalesce(mail, phone, CAST(telegram, 'Nullable(String)'))─┐
│ client 1 │ 123-45-67                                                 │
│ client 2 │ ᴺᵁᴸᴸ                                                      │
└──────────┴───────────────────────────────────────────────────────────┘

firstNonDefault

Introducido en: v25.9.0 Devuelve el primer valor distinto del predeterminado de un conjunto de argumentos Sintaxis
firstNonDefault(arg1[, arg2[ ...]])
Argumentos
  • arg1 — El primer argumento que se debe comprobar - arg2 — El segundo argumento que se debe comprobar - ... — Argumentos adicionales que se deben comprobar
Valor devuelto El tipo de resultado es el supertipo de todos los argumentos Ejemplos enteros
Query
SELECT firstNonDefault(0, 1, 2)
Response
1
cadenas
Query
SELECT firstNonDefault('', 'hello', 'world')
Response
'hello'
valores NULL
Query
SELECT firstNonDefault(NULL, 0 :: UInt8, 1 :: UInt8)
Response
1
cero Nullable
Query
SELECT firstNonDefault(NULL, 0 :: Nullable(UInt8), 1 :: Nullable(UInt8))
Response
0

ifNull

Introducida en: v1.1.0 Devuelve un valor alternativo si el primer argumento es NULL. Sintaxis
ifNull(x, alt)
Argumentos
  • x — El valor que se va a comprobar para ver si es NULL. Any
  • alt — El valor que devuelve la función si x es NULL. Any
Valor devuelto Devuelve el valor de x si no es NULL; de lo contrario, alt. Any Ejemplos Ejemplo de uso
Query
SELECT ifNull('a', 'b'), ifNull(NULL, 'b');
Response
┌─ifNull('a', 'b')─┬─ifNull(NULL, 'b')─┐
│ a                │ b                 │
└──────────────────┴───────────────────┘

isNotNull

Introducido en: v1.1.0 Comprueba si el argumento no es NULL. Véase también: operador IS NOT NULL. Sintaxis
isNotNull(x)
Argumentos
  • x — Un valor de un tipo de dato no compuesto. Any
Valor devuelto Devuelve 1 si x no es NULL; de lo contrario, 0. UInt8 Ejemplos Ejemplo de uso
Query
CREATE TABLE t_null
(
  x Int32,
  y Nullable(Int32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT x FROM t_null WHERE isNotNull(y);
Response
┌─x─┐
│ 2 │
└───┘

isNull

Introducido en: v1.1.0 Comprueba si el argumento es NULL. Véase también: operador IS NULL. Sintaxis
isNull(x)
Argumentos
  • x — Un valor de un tipo de dato no compuesto. Any
Valor devuelto Devuelve 1 si x es NULL; en caso contrario, 0. UInt8 Ejemplos Ejemplo de uso
Query
CREATE TABLE t_null
(
  x Int32,
  y Nullable(Int32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT x FROM t_null WHERE isNull(y);
Response
┌─x─┐
│ 1 │
└───┘

isNullable

Introducido en: v22.7.0 Comprueba si el tipo de datos del argumento es Nullable (es decir, si permite valores NULL). Sintaxis
isNullable(x)
Argumentos
  • x — Un valor de cualquier tipo de dato. Any
Valor devuelto Devuelve 1 si x es del tipo de dato Nullable; de lo contrario, 0. UInt8 Ejemplos Ejemplo de uso
Query
CREATE TABLE tab (
    ordinary_col UInt32,
    nullable_col Nullable(UInt32)
)
ENGINE = MergeTree
ORDER BY tuple();
INSERT INTO tab (ordinary_col, nullable_col) VALUES (1,1), (2, 2), (3,3);
SELECT isNullable(ordinary_col), isNullable(nullable_col) FROM tab;
Response
┌───isNullable(ordinary_col)──┬───isNullable(nullable_col)──┐
│                           0 │                           1 │
│                           0 │                           1 │
│                           0 │                           1 │
└─────────────────────────────┴─────────────────────────────┘

isZeroOrNull

Introducido en: v20.3.0 Comprueba si el argumento es igual a cero (0) o NULL. Sintaxis
isZeroOrNull(x)
Argumentos
  • x — Un valor numérico. UInt
Valor devuelto Devuelve 1 si x es NULL o es igual a cero; en caso contrario, 0. UInt8/16/32/64 o Float32/Float64 Ejemplos Ejemplo de uso
Query
CREATE TABLE t_null
(
  x Int32,
  y Nullable(Int32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO t_null VALUES (1, NULL), (2, 0), (3, 3);

SELECT x FROM t_null WHERE isZeroOrNull(y);
Response
┌─x─┐
│ 1 │
│ 2 │
└───┘

nullIf

Introducido en: v1.1.0 Devuelve NULL si ambos argumentos son iguales. Sintaxis
nullIf(x, y)
Argumentos
  • x — El primer valor. Any
  • y — El segundo valor. Any
Valor devuelto Devuelve NULL si ambos argumentos son iguales; en caso contrario, devuelve el primer argumento. NULL o Nullable(x) Ejemplos Ejemplo de uso
Query
SELECT nullIf(1, 1), nullIf(1, 2);
Response
┌─nullIf(1, 1)─┬─nullIf(1, 2)─┐
│         ᴺᵁᴸᴸ │            1 │
└──────────────┴──────────────┘

toNullable

Introducido en: v1.1.0 Convierte el tipo del argumento dado en Nullable. Sintaxis
toNullable(x)
Argumentos
  • x — Un valor de cualquier tipo no compuesto. Any
Valor devuelto Devuelve el valor de entrada, pero con tipo Nullable. Nullable(Any) Ejemplos Ejemplo de uso
Query
SELECT toTypeName(10), toTypeName(toNullable(10));
Response
┌─toTypeName(10)─┬─toTypeName(toNullable(10))─┐
│ UInt8          │ Nullable(UInt8)            │
└────────────────┴────────────────────────────┘
Última modificación el 10 de junio de 2026