Catégories :

Fonctions d’expressions conditionnelles

GREATEST_IGNORE_NULLS

Renvoie la plus grande valeur non NULL d’une liste d’expressions. GREATEST_IGNORE_NULLS prend en charge tous les types de données, y compris VARIANT.

Voir aussi :

GREATEST

Syntaxe

GREATEST_IGNORE_NULLS( <expr1> [ , <expr2> ... ] )
Copy

Arguments

exprN

Les arguments doivent inclure au moins une expression. Toutes les expressions doivent être du même type ou de types compatibles.

Renvoie

Le premier argument détermine le type de renvoi :

  • Si le premier type est numérique, le type de renvoi sera « élargi » en fonction des types numériques de la liste de tous les arguments.

  • Si le premier type n’est pas numérique, tous les autres arguments doivent être convertibles en premier type.

Si tous les arguments sont NULL, renvoie NULL.

Détails du classement

  • The collation specifications of all input arguments must be compatible.

  • The comparisons follow the collation based on the input arguments” collations and precedences.

  • The collation of the result of the function is the highest-precedence collation of the inputs.

Exemples

Créez une table et insérez des valeurs :

CREATE TABLE test_greatest_ignore_nulls (
  col_1 INTEGER,
  col_2 INTEGER,
  col_3 INTEGER,
  col_4 FLOAT);

INSERT INTO test_greatest_ignore_nulls (col_1, col_2, col_3, col_4) VALUES
  (1, 2,    3,  4.25),
  (2, 4,   -1,  NULL),
  (3, 6, NULL,  -2.75);
Copy

Exécutez une instruction SELECT qui renvoie la plus grande valeur non nulle dans chaque ligne de la table :

SELECT col_1,
       col_2,
       col_3,
       col_4,
       GREATEST_IGNORE_NULLS(col_1, col_2, col_3, col_4) AS greatest_ignore_nulls
 FROM test_greatest_ignore_nulls
 ORDER BY col_1;
Copy
+-------+-------+-------+-------+-----------------------+
| COL_1 | COL_2 | COL_3 | COL_4 | GREATEST_IGNORE_NULLS |
|-------+-------+-------+-------+-----------------------|
|     1 |     2 |     3 |  4.25 |                  4.25 |
|     2 |     4 |    -1 |  NULL |                  4    |
|     3 |     6 |  NULL | -2.75 |                  6    |
+-------+-------+-------+-------+-----------------------+