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 valor único 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 valor único em x. Retorna NULL se houver zero ou pelo menos dois valores distintos. Any ou NULL
Exemplos
Um único valor
CREATE TABLE test (x UInt8 NULL) ENGINE=Log;
INSERT INTO test (x) VALUES (NULL), (NULL), (5), (NULL), (NULL);
SELECT singleValueOrNull(x) FROM test;┌─singleValueOrNull(x)─┐
│ 5 │
└──────────────────────┘Múltiplos valores distintos
INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;┌─singleValueOrNull(x)─┐
│ ᴺᵁᴸᴸ │
└──────────────────────┘