Pular para o conteúdo principal

singleValueOrNull

Introduzido em: v21.9.0 A função de agregação singleValueOrNull é usada para implementar operadores de subconsulta, como x = ALL (SELECT ...). Ela verifica se há apenas um único valor não NULL nos dados. Se houver apenas um único valor, ela o retorna. Se houver zero ou pelo menos dois valores distintos, ela retorna NULL. Sintaxe
singleValueOrNull(x)
Argumentos
  • x — Uma coluna de qualquer tipo de dado, exceto Map, Array ou Tuple, que não pode ser do tipo Nullable. Any
Valor retornado Retorna o valor único se houver apenas um único valor diferente de NULL em x. Retorna NULL se houver zero ou pelo menos dois valores distintos. Any ou NULL Exemplos Um único valor
Query
CREATE TABLE test (x UInt8 NULL) ENGINE=Log;
INSERT INTO test (x) VALUES (NULL), (NULL), (5), (NULL), (NULL);
SELECT singleValueOrNull(x) FROM test;
Response
┌─singleValueOrNull(x)─┐
│                    5 │
└──────────────────────┘
Múltiplos valores distintos
Query
INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;
Response
┌─singleValueOrNull(x)─┐
│                 ᴺᵁᴸᴸ │
└──────────────────────┘
Última modificação em 10 de junho de 2026