Passer au contenu principal

assumeNotNull

Introduit dans : v1.1.0 Renvoie la valeur correspondante non Nullable pour une valeur de type Nullable. Si la valeur d’origine est NULL, un résultat arbitraire peut être renvoyé. Voir aussi : les fonctions ifNull et coalesce. Syntaxe
assumeNotNull(x)
Arguments
  • x — La valeur d’origine de n’importe quel type Nullable. Nullable(T)
Valeur renvoyée Renvoie une valeur non nullable si la valeur d’origine n’était pas NULL ; sinon, si la valeur d’entrée est NULL, une valeur arbitraire. Any Exemples Exemple d’utilisation
Query
CREATE TABLE t_null (x Int8, y Nullable(Int8))
ENGINE=MergeTree()
ORDER BY x;

INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT assumeNotNull(y) FROM table;
SELECT toTypeName(assumeNotNull(y)) FROM t_null;
Response
┌─assumeNotNull(y)─┐
│                0 │
│                3 │
└──────────────────┘
┌─toTypeName(assumeNotNull(y))─┐
│ Int8                         │
│ Int8                         │
└──────────────────────────────┘

coalesce

Introduite dans : v1.1.0 Renvoie le premier argument non-NULL. Syntaxe
coalesce(x[, y, ...])
Arguments
  • x[, y, ...] — Un nombre quelconque de paramètres de type non composite. Tous les paramètres doivent être de types de données compatibles entre eux. Any
Valeur renvoyée Renvoie le premier argument non NULL, ou NULL si tous les arguments sont NULL. Any ou NULL Exemples Exemple d’utilisation
Query
-- Consider a list of contacts that may specify multiple ways to contact a customer.

CREATE TABLE aBook
(
    name String,
    mail Nullable(String),
    phone Nullable(String),
    telegram Nullable(UInt32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO aBook VALUES ('client 1', NULL, '123-45-67', 123), ('client 2', NULL, NULL, NULL);

-- The mail and phone fields are of type String, but the telegram field is UInt32 so it needs to be converted to String.

-- Get the first available contact method for the customer from the contact list

SELECT name, coalesce(mail, phone, CAST(telegram,'Nullable(String)')) FROM aBook;
Response
┌─name─────┬─coalesce(mail, phone, CAST(telegram, 'Nullable(String)'))─┐
│ client 1 │ 123-45-67                                                 │
│ client 2 │ ᴺᵁᴸᴸ                                                      │
└──────────┴───────────────────────────────────────────────────────────┘

firstNonDefault

Introduit dans : v25.9.0 Renvoie la première valeur non par défaut parmi un ensemble d’arguments Syntaxe
firstNonDefault(arg1[, arg2[ ...]])
Arguments
  • arg1 — Premier argument à vérifier - arg2 — Deuxième argument à vérifier - ... — Arguments supplémentaires à vérifier
Valeur renvoyée Le type de résultat est le supertype de tous les arguments Exemples entiers
Query
SELECT firstNonDefault(0, 1, 2)
Response
1
chaînes de caractères
Query
SELECT firstNonDefault('', 'hello', 'world')
Response
'hello'
valeurs nulles
Query
SELECT firstNonDefault(NULL, 0 :: UInt8, 1 :: UInt8)
Response
1
zéro de type Nullable
Query
SELECT firstNonDefault(NULL, 0 :: Nullable(UInt8), 1 :: Nullable(UInt8))
Response
0

ifNull

Introduit dans : v1.1.0 Renvoie une autre valeur si le premier argument est NULL. Syntaxe
ifNull(x, alt)
Arguments
  • x — La valeur à vérifier pour déterminer si elle est NULL. Any
  • alt — La valeur que la fonction renvoie si x est NULL. Any
Valeur renvoyée Renvoie la valeur de x si elle n’est pas NULL, sinon alt. Any Exemples Exemple d’utilisation
Query
SELECT ifNull('a', 'b'), ifNull(NULL, 'b');
Response
┌─ifNull('a', 'b')─┬─ifNull(NULL, 'b')─┐
│ a                │ b                 │
└──────────────────┴───────────────────┘

isNotNull

Introduit dans : v1.1.0 Vérifie si l’argument n’est pas NULL. Voir aussi : l’opérateur IS NOT NULL. Syntaxe
isNotNull(x)
Arguments
  • x — Une valeur de type de données non composite. Any
Valeur renvoyée Renvoie 1 si x n’est pas NULL, sinon 0. UInt8 Exemples Exemple d’utilisation
Query
CREATE TABLE t_null
(
  x Int32,
  y Nullable(Int32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT x FROM t_null WHERE isNotNull(y);
Response
┌─x─┐
│ 2 │
└───┘

isNull

Introduit dans : v1.1.0 Indique si l’argument est NULL. Voir aussi : l’opérateur IS NULL. Syntaxe
isNull(x)
Arguments
  • x — Une valeur de type de données non composite. Any
Valeur renvoyée Renvoie 1 si x est NULL, sinon 0. UInt8 Exemples Exemple d’utilisation
Query
CREATE TABLE t_null
(
  x Int32,
  y Nullable(Int32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT x FROM t_null WHERE isNull(y);
Response
┌─x─┐
│ 1 │
└───┘

isNullable

Introduit dans : v22.7.0 Vérifie si le type de données de l’argument est Nullable (c’est-à-dire s’il accepte les valeurs NULL). Syntaxe
isNullable(x)
Arguments
  • x — Une valeur de n’importe quel type de données. Any
Valeur renvoyée Renvoie 1 si x est du type de données Nullable, sinon 0. UInt8 Exemples Exemple d’utilisation
Query
CREATE TABLE tab (
    ordinary_col UInt32,
    nullable_col Nullable(UInt32)
)
ENGINE = MergeTree
ORDER BY tuple();
INSERT INTO tab (ordinary_col, nullable_col) VALUES (1,1), (2, 2), (3,3);
SELECT isNullable(ordinary_col), isNullable(nullable_col) FROM tab;
Response
┌───isNullable(ordinary_col)──┬───isNullable(nullable_col)──┐
│                           0 │                           1 │
│                           0 │                           1 │
│                           0 │                           1 │
└─────────────────────────────┴─────────────────────────────┘

isZeroOrNull

Introduit dans : v20.3.0 Vérifie si l’argument vaut soit zéro (0), soit NULL. Syntaxe
isZeroOrNull(x)
Arguments
  • x — Une valeur numérique. UInt
Valeur renvoyée Renvoie 1 si x est NULL ou égal à zéro, sinon 0. UInt8/16/32/64 ou Float32/Float64 Exemples Exemple d’utilisation
Query
CREATE TABLE t_null
(
  x Int32,
  y Nullable(Int32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO t_null VALUES (1, NULL), (2, 0), (3, 3);

SELECT x FROM t_null WHERE isZeroOrNull(y);
Response
┌─x─┐
│ 1 │
│ 2 │
└───┘

nullIf

Introduite dans : v1.1.0 Renvoie NULL si les deux arguments sont égaux. Syntaxe
nullIf(x, y)
Arguments
  • x — La première valeur. Any
  • y — La deuxième valeur. Any
Valeur renvoyée Renvoie NULL si les deux arguments sont égaux ; sinon, renvoie le premier argument. NULL ou Nullable(x) Exemples Exemple d’utilisation
Query
SELECT nullIf(1, 1), nullIf(1, 2);
Response
┌─nullIf(1, 1)─┬─nullIf(1, 2)─┐
│         ᴺᵁᴸᴸ │            1 │
└──────────────┴──────────────┘

toNullable

Introduit dans : v1.1.0 Convertit le type de l’argument fourni en Nullable. Syntaxe
toNullable(x)
Arguments
  • x — Une valeur de n’importe quel type non composite. Any
Valeur renvoyée Renvoie la valeur d’entrée, mais avec le type Nullable. Nullable(Any) Exemples Exemple d’utilisation
Query
SELECT toTypeName(10), toTypeName(toNullable(10));
Response
┌─toTypeName(10)─┬─toTypeName(toNullable(10))─┐
│ UInt8          │ Nullable(UInt8)            │
└────────────────┴────────────────────────────┘
Dernière modification le 25 juin 2026