MariaDB DECODE_ORACLE SQL-Funktion - Ausdrücke vergleichen |
|
| DECODE_ORACLE | Syntax: | DECODE_ORACLE(Ausdr, Ausdr1, Wert1, [Ausdr2, Wert2 ...], [Default]) | Rückgabe-Wert: | Abhängig von den verwendeten Datentypen | Funktions-Typ: | Vergleichs-Funktion | |
| | Die SQL-Funktion DECODE_ORACLE() vergleicht Ausdrücke miteinander und gibt bei Übereinstimmung den zugewiesenen Wert zurück.
Wenn keine Übereinstimmung gefunden wurde, wird NULL zurückgegeben oder "Default", wenn angegeben.
NULL-Werte in Ausdrücken werden ebenfalls berücksichtig und können miteinander verglichen werden.
Diese Funktion ist ab MariaDB Version 10.3.2 vorhanden. Ist der Oracle-Modus eingeschaltet, wird die Funktion DECODE() wie diese ausgeführt.
Diese Funktion ist in MySQL 8.0 nicht vorhanden. | SQL Beispiele für die DECODE_ORACLE-Funktion |
1
2
3
4
5
6
7
8
9
10
11
12
|
|
select decode_oracle(2, 1, 'val1', 2, 'val2', 'not found');
select decode_oracle(3, 1, 'val1', 2, 'val2', 'not found');
select decode_oracle(3, 1, 'val1', 2, 'val2');
select decode_oracle(2, 1, 5, 2, 5, 0);
select decode_oracle(3, 1, 5, 2, 5, 0);
select decode_oracle(3, 1, 5, 2, 5);
select decode_oracle(null, 1, 'val1', null, 'val2', 'not found');
select decode_oracle(3, 1, 'val1', null, 'val2', 'not found');
|
|
decode_oracle(2, 1, 'val1', 2, 'val2', 'not found') |
varchar(9) BINARY |
val2 |
|
|
decode_oracle(3, 1, 'val1', 2, 'val2', 'not found') |
varchar(9) BINARY |
not found |
|
|
decode_oracle(3, 1, 'val1', 2, 'val2') |
varchar(4) BINARY |
NULL |
|
|
decode_oracle(2, 1, 5, 2, 5, 0) |
int(1) |
5 |
|
|
decode_oracle(3, 1, 5, 2, 5, 0) |
int(1) |
0 |
|
|
decode_oracle(3, 1, 5, 2, 5) |
int(1) |
NULL |
|
|
decode_oracle(null, 1, 'val1', null, 'val2', 'not found') |
varchar(9) BINARY |
val2 |
|
|
decode_oracle(3, 1, 'val1', null, 'val2', 'not found') |
varchar(9) BINARY |
not found |
|
|
| Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: | Verwendung der DECODE_ORACLE() Funktion in MySQL und MariaDB-Datenbanken | Die DECODE_ORACLE()-Funktion in MariaDB ist eine leistungsstarke bedingte Funktion, mit der Werte basierend auf einer Reihe von Bedingungen transformiert oder ersetzt werden können. Die Funktion verwendet einen Ausdruck als erstes Argument, gefolgt von einer Reihe von Suchwerten und den entsprechenden Ergebnissen, vergleicht den Ausdruck mit der Reihe von Bedingungen und gibt ein Ergebnis basierend auf der ersten übereinstimmenden Bedingung zurück. Wenn keine Übereinstimmung gefunden wird, wird das Standardergebnis zurückgegeben. Dabei wertet die Funktion alle Bedingungen und Ausdrücke aus, auch wenn eine Übereinstimmung gefunden wird.
Die Funktion kann beispielsweise verwendet werden, um einen Wert basierend auf angegebenen Bedingungen zu konvertieren oder einem anderen zuzuordnen. Bestimmte Werte basierend auf Bedingungen durch andere Werte ersetzt werden. Es können Daten standardisiert oder bereinigt werden, indem inkonsistente oder ungültige Werte ersetzt werden.
Diese Funktion heist im Oracle-Datenbanksystem DECODE() und wird in MariaDB unter dem Namen DECODE_ORACLE() zur Verfügung gestellt, um sie auch nutzen zu können, wenn die Datenbank nicht im Oracle-Modus läuft. | | Weitere MySQL und MariaDB SQL Vergleichs-Funktionen | |
| | Weitere Informationen zur SQL-Funktion DECODE_ORACLE: |
|
|
|
|