Kategorien:

Funktionen für bedingte Ausdrücke

GREATEST_IGNORE_NULLS

Gibt den größten Nicht-NULL-Wert aus einer Liste von Ausdrücken zurück. GREATEST_IGNORE_NULLS unterstützt alle Datentypen, einschließlich VARIANT.

Siehe auch:

GREATEST

Syntax

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

Argumente

exprN

Die Argumente müssen mindestens einen Ausdruck enthalten. Alle Ausdrücke sollten vom gleichen Typ oder einem kompatiblen Typ sein.

Rückgabewerte

Das erste Argument bestimmt über den Rückgabetyp:

  • Wenn der erste Typ numerisch ist, wird der Rückgabetyp entsprechend den numerischen Typen in der Liste aller Argumente „verbreitert“.

  • Wenn der erste Typ nicht numerisch ist, müssen alle anderen Argumente in den ersten Typ konvertierbar sein.

Wenn alle Argumente NULL sind, wird NULL zurückgegeben.

Sortierungsdetails

  • 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.

Beispiele

Erstellen einer Tabelle und Einfügen einiger Werte:

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

Ausführen einer SELECT-Anweisung, die den größten Nicht-Null-Wert in jeder Zeile der Tabelle zurückgibt:

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    |
+-------+-------+-------+-------+-----------------------+