Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

singleValueOrNull

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

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 │
└──────────────────────┘

Plusieurs valeurs distinctes

INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;
┌─singleValueOrNull(x)─┐
│                 ᴺᵁᴸᴸ │
└──────────────────────┘
Navigation