singleValueOrNull
Introducido en: v21.9.0
La función de agregación singleValueOrNull se utiliza para implementar operadores de subconsulta, como x = ALL (SELECT ...). Comprueba si en los datos hay un único valor no NULL.
Si solo hay un valor único, lo devuelve. Si hay cero o al menos dos valores distintos, devuelve NULL.
Sintaxis
singleValueOrNull(x)Argumentos
x— Una columna de cualquier tipo de dato excepto Map, Array o Tuple, que no puede ser de tipo Nullable.Any
Valor devuelto
Devuelve el valor único si en x solo hay un único valor distinto de NULL. Devuelve NULL si hay cero o al menos dos valores distintos. Any o NULL
Ejemplos
Un ú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 │
└──────────────────────┘Varios valores distintos
INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;┌─singleValueOrNull(x)─┐
│ ᴺᵁᴸᴸ │
└──────────────────────┘