Oracle Coalesce -Funktion

Oracle Coalesce -Funktion
In diesem Beitrag lernen wir, wie man mit der Funktion coalesce () arbeitet, um den ersten Nicht-Null-Wert in einer Liste zu holen.

Einführung in die Funktion von Oracle Coalesce ()

Mit der Funktion coalesce () können Sie eine Liste von Argumenten angeben und das erste Nicht-Null-Argument aus dem bereitgestellten Satz zurückgeben.

Wir können die Funktionssyntax wie folgt ausdrücken:

Koalesce (Expression1, Expression2,…, Expressionn);

In der bereitgestellten Syntax, Expression1, Expression2,…, Expressionn.

Sobald die Funktion den ersten Nicht-Null-Wert in der Liste der bereitgestellten Ausdrücke trifft, gibt sie diesen Wert zurück. Die Funktion gibt jedoch NULL zurück, wenn alle Ausdrücke null sind.

Nehmen Sie dieses Beispiel, das die grundlegende Verwendung der Koalesce () -Funktion in Oracle -Datenbanken demonstriert:

Wählen Sie Koalesce (NULL, NULL, 1, 2, 3) wie aus Dual;

Im vorherigen Beispiel verwenden wir die Funktion coalesce () mit fünf Eingabewerten oder Ausdrücken. Da die ersten beiden Werte null sind, gibt die Funktion den ersten Wert nach dem zurück, was die Ganzzahl 1 ist.

Beispielausgabe:

Nehmen Sie dieses zweite Beispiel, das den Rückgabewert demonstriert, wenn alle Ausdrücke null sind.

Wählen Sie Koalesce (null, null, null) als aus dual aus;

Die Funktion gibt NULL zurück, wie im Folgenden gezeigt:

Die Funktion coalesce () gibt denselben Datentyp wie der Eingangstyp zurück, wenn alle Werte vom gleichen Typ sind.

Wenn sich die Eingabedaten-Ausdrücke jedoch mit unterschiedlichen Datentypen befinden, versucht die Funktion, eine implizite Typumwandlung für alle Ausdrücke zum Datentyp des ersten Nicht-Null-Expression durchzuführen.

Wenn die Konvertierung fehlschlägt, gibt die Datenbank -Engine einen Fehler zurück.

Ein Beispiel ist wie im Folgenden gezeigt:

Wählen Sie Koalesce (NULL, NULL, NULL, 1, 'B') wie aus Dual;

In diesem Fall sind die Ausdrücke unterschiedliche Datentypen. Da der erste Nicht-Null-Ausdruck eine Zahl ist, versucht die Funktion, alle Ausdrücke in den Zahlentyp umzuwandeln, der fehlschlägt, da das Zeichen „B“ nicht in eine Zahl konvertiert werden kann.

Der resultierende Fehler ist wie gezeigt:

[42000] [932] ORA-00932: Inkonsistente Datentypen: Erwartete Nummer

Es ist gut zu bedenken, dass die Funktion die Kurzschlussbewertung verwendet. Dies bedeutet, dass die Funktion aufhört, den ersten Nicht-Null-Ausdruck zu begegnen. Selbst wenn nach dem ersten Nicht-Null-Ausdruck ein Fehler vorliegt, wird sie nicht registriert, da die Funktion sie nicht bewertet.

Abschluss

In diesem Beitrag haben Sie die Funktionsweise und Verwendung der Oracle Coalesce () -Funktion entdeckt, um das erste Nicht-Null-Argument in einem Ausdruck zurückzugeben.