Pular para o conteúdo principal

assumeNotNull

Introduzido em: v1.1.0 Retorna o valor não Nullable correspondente a um valor do tipo Nullable. Se o valor original for NULL, um resultado arbitrário poderá ser retornado. Veja também: as funções ifNull e coalesce. Sintaxe
assumeNotNull(x)
Argumentos
  • x — O valor original de qualquer tipo Nullable. Nullable(T)
Valor retornado Retorna o valor não anulável se o valor original não for NULL; caso contrário, retorna um valor arbitrário se o valor de entrada for NULL. Any Exemplos Exemplo 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

Introduzido em: v1.1.0 Retorna o argumento não NULL mais à esquerda. Sintaxe
coalesce(x[, y, ...])
Argumentos
  • x[, y, ...] — Qualquer número de parâmetros de tipo não composto. Todos os parâmetros devem ser de tipos de dados compatíveis entre si. Any
Valor retornado Retorna o primeiro argumento não NULL; caso todos os argumentos sejam NULL, retorna NULL. Any ou NULL Exemplos Exemplo de uso
Query
-- Considere uma lista de contatos que pode especificar múltiplas formas de contatar um 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);

-- Os campos mail e phone são do tipo String, mas o campo telegram é UInt32, portanto precisa ser convertido para String.

-- Obtém o primeiro método de contato disponível para o cliente a partir da lista de contatos

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

Introduzido em: v25.9.0 Retorna o primeiro valor diferente do padrão de um conjunto de argumentos Sintaxe
firstNonDefault(arg1[, arg2[ ...]])
Argumentos
  • arg1 — O primeiro argumento a ser verificado - arg2 — O segundo argumento a ser verificado - ... — Argumentos adicionais a serem verificados
Valor retornado O tipo do resultado é o supertipo de todos os argumentos Exemplos inteiros
Query
SELECT firstNonDefault(0, 1, 2)
Response
1
strings
Query
SELECT firstNonDefault('', 'hello', 'world')
Response
'hello'
NULLs
Query
SELECT firstNonDefault(NULL, 0 :: UInt8, 1 :: UInt8)
Response
1
zero Nullable
Query
SELECT firstNonDefault(NULL, 0 :: Nullable(UInt8), 1 :: Nullable(UInt8))
Response
0

ifNull

Introduzido na versão: v1.1.0 Retorna um valor alternativo se o primeiro argumento for NULL. Sintaxe
ifNull(x, alt)
Argumentos
  • x — O valor a verificar se é NULL. Any
  • alt — O valor que a função retorna se x for NULL. Any
Valor retornado Retorna o valor de x se ele não for NULL; caso contrário, alt. Any Exemplos Exemplo de uso
Query
SELECT ifNull('a', 'b'), ifNull(NULL, 'b');
Response
┌─ifNull('a', 'b')─┬─ifNull(NULL, 'b')─┐
│ a                │ b                 │
└──────────────────┴───────────────────┘

isNotNull

Introduzido em: v1.1.0 Verifica se o argumento não é NULL. Veja também: operador IS NOT NULL. Sintaxe
isNotNull(x)
Argumentos
  • x — Um valor de um tipo de dado não composto. Any
Valor retornado Retorna 1 se x não for NULL; caso contrário, 0. UInt8 Exemplos Exemplo 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

Introduzido em: v1.1.0 Verifica se o argumento é NULL. Veja também: operador IS NULL. Sintaxe
isNull(x)
Argumentos
  • x — Um valor de tipo de dado não composto. Any
Valor retornado Retorna 1 se x for NULL; caso contrário, 0. UInt8 Exemplos Exemplo 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

Introduzido na versão: v22.7.0 Verifica se o tipo de dado do argumento é Nullable (ou seja, se permite valores NULL). Sintaxe
isNullable(x)
Argumentos
  • x — Um valor de qualquer tipo de dado. Any
Valor retornado Retorna 1 se x for do tipo de dado Nullable; caso contrário, 0. UInt8 Exemplos Exemplo 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

Introduzido na versão: v20.3.0 Verifica se o argumento é igual a zero (0) ou NULL. Sintaxe
isZeroOrNull(x)
Argumentos
  • x — Um valor numérico. UInt
Valor retornado Retorna 1 se x for NULL ou igual a zero; caso contrário, 0. UInt8/16/32/64 ou Float32/Float64 Exemplos Exemplo 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

Introduzido em: v1.1.0 Retorna NULL se os dois argumentos forem iguais. Sintaxe
nullIf(x, y)
Argumentos
  • x — O primeiro valor. Any
  • y — O segundo valor. Any
Valor retornado Retorna NULL se ambos os argumentos forem iguais; caso contrário, retorna o primeiro argumento. NULL ou Nullable(x) Exemplos Exemplo de uso
Query
SELECT nullIf(1, 1), nullIf(1, 2);
Response
┌─nullIf(1, 1)─┬─nullIf(1, 2)─┐
│         ᴺᵁᴸᴸ │            1 │
└──────────────┴──────────────┘

toNullable

Introduzido em: v1.1.0 Converte o tipo do argumento fornecido para Nullable. Sintaxe
toNullable(x)
Argumentos
  • x — Um valor de qualquer tipo não composto. Any
Valor retornado Retorna o valor de entrada, mas com o tipo Nullable. Nullable(Any) Exemplos Exemplo de uso
Query
SELECT toTypeName(10), toTypeName(toNullable(10));
Response
┌─toTypeName(10)─┬─toTypeName(toNullable(10))─┐
│ UInt8          │ Nullable(UInt8)            │
└────────────────┴────────────────────────────┘
Última modificação em 10 de junho de 2026