Passer au contenu principal

singleValueOrNull

Introduit dans : v21.9.0 La fonction d’agrégation singleValueOrNull est utilisée pour implémenter des opérateurs de sous-requête, tels que x = ALL (SELECT ...). Elle vérifie s’il existe une seule valeur unique non NULL dans les données. S’il n’y a qu’une seule valeur unique, elle la renvoie. S’il y a zéro ou au moins deux valeurs distinctes, elle renvoie NULL. Syntaxe
singleValueOrNull(x)
Arguments
  • x — Une colonne de n’importe quel type de données, sauf Map, Array ou Tuple, qui ne peut pas être de type Nullable. Any
Valeur renvoyée Renvoie la valeur s’il n’existe qu’une seule valeur distincte non-NULL dans x. Renvoie NULL s’il y a zéro ou au moins deux valeurs distinctes. Any ou NULL Exemples Valeur unique
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 │
└──────────────────────┘
Plusieurs valeurs distinctes
Query
INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;
Response
┌─singleValueOrNull(x)─┐
│                 ᴺᵁᴸᴸ │
└──────────────────────┘
Dernière modification le 25 juin 2026