In diesem Beitrag können Sie zeigen, wie Sie die Funktion decodes () in Oracle -Abfragen verwenden. Mit der Funktion decodes () können Sie die eingebettete IF-Then-ELSE-Logik in einer Orakelabfrage einführen.
Funktionssyntax, Parameter und Rückgabewert
Der folgende Code -Snippet bezeichnet die Funktion der Funktion decode () in Oracle:
Decodieren (Ausdruck, Suche, Ergebnis [, Suche, Ergebnis]… [, Standard]);Wo:
Beispiel für Funktionsnutzung
Das folgende Beispiel zeigt eine grundlegende Funktionsverwendung in der Funktion decode ():
Wählen Sie Decode (10, 10, 'true') aus Dual;Die Funktion führt eine bedingte Überprüfung durch, wie im Folgenden dargestellt:
Wenn 10 = 10 dannDies sollte wahr zurückkehren, wie im Folgenden gezeigt:
Decodieren (10,10, 'true') |Wenn die Bedingung falsch ist, gibt die Funktion NULL zurück, wie im Folgenden gezeigt:
Wählen Sie Decode (10, 11, 'true') aus Dual;Da die Bedingung falsch ist, gibt die Funktion in diesem Fall null zurück.
Wir können einen Rückgabewert einfügen, wenn die Bedingung falsch ist, wie im Folgenden dargestellt:
Wählen Sie Decode (10, 11, 'true', 'false') aus Dual;Dies sollte wie folgt zurückkehren:
Decodieren (10,11, 'true', 'false') |Wir können das erste Argument auch mit einer Liste von Argumenten vergleichen, wie im Folgenden gezeigt:
Wählen Sie Decode (1, 2, 'One', 1, 'One') aus Dual;In diesem Fall vergleicht die Funktion das erste Argument mit dem Wert von 1 mit dem zweiten Argument. Wenn es gleich ist, gibt die Funktion das dritte Argument zurück. Ansonsten vergleicht es den Wert mit dem vierten Argument und gibt das fünfte Argument als wahr zurück.
Ergebnis:
Decodieren (1,2, 'eins', 1, 'eins') |Wir können auch einen Rückgabewert definieren, wenn keine Übereinstimmung gefunden wird.
Wählen Sie Decode (5, 2, 'eins', 1, 'eins', 'Wert muss weder 1 noch 2 ") von Dual;Beispielergebnis:
Decodieren (5,2, 'eins', 1, 'eins')Der Wert muss weder 1 sein oder 2 |
Abschluss
Dieser Beitrag behandelte die Grundlagen der Arbeit mit der Funktion von Oracle Decode (), um komplexere IF-ELSE-Anweisungen in Oracle-Tabellen zu verarbeiten.