MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wie TRIM_ORACLE() in MariaDB funktioniert

In MariaDB TRIM_ORACLE() ist ein Synonym für die Oracle-Modus-Version von TRIM() Funktion.

TRIM_ORACLE() ist in allen Modi verfügbar, sodass Sie nicht in den Oracle-Modus wechseln müssen, was Sie tun müssten, wenn Sie TRIM() wollten Funktion so, dass sie sich wie Oracles TRIM() verhält Funktion.

Der Unterschied besteht darin, wie jede Funktion leere Zeichenfolgen behandelt. Oracle gibt null zurück wohingegen MariaDB eine leere Zeichenfolge zurückgibt.

Syntax

Die Syntax sieht so aus:

TRIM_ORACLE([remstr FROM] str)

Oder:

TRIM_ORACLE([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

Wobei str ist die Zeichenfolge, aus der alle abschließenden Leerzeichen entfernt werden sollen, und remstr ist die zu entfernende Zeichenfolge.

Wenn remstr nicht angegeben ist, dann TRIM_ORACLE() entfernt Leerzeichen.

Beispiel

Hier ist ein einfaches Beispiel:

SELECT 
    '   Volcanic eruption   ' AS "Untrimmed",
    TRIM_ORACLE('   Volcanic eruption   ') AS "Trimmed";

Ergebnis:

+-------------------------+-------------------+
| Untrimmed               | Trimmed           |
+-------------------------+-------------------+
|    Volcanic eruption    | Volcanic eruption |
+-------------------------+-------------------+

Dieses Beispiel verwendet die einfachste Syntax. Alles, was wir taten, war die Schnur zum Trimmen bereitzustellen. Wir haben nicht angegeben, welche(s) Zeichen gekürzt werden sollen, und daher wurden alle Leerzeichen auf beiden Seiten der Zeichenfolge gekürzt.

Wir können auch sehen, dass das Leerzeichen innerhalb des Strings intakt bleibt.

Siehe Wie TRIM() Funktioniert in MariaDB für Beispiele zur Verwendung anderer Optionen, wie z. B. die Angabe einer zu kürzenden Zeichenfolge und der zu kürzenden Seite der Zeichenfolge. TRIM_ORACLE() funktioniert in solchen Fällen genauso, mit der möglichen Ausnahme, wenn die zu trimmende Zeichenfolge eine leere Zeichenfolge ist.

Leere Zeichenfolgen

Übergabe eines leeren Strings an TRIM_ORACLE() ergibt null zurückgegeben.

SELECT TRIM_ORACLE('');

Ergebnis:

+-----------------+
| TRIM_ORACLE('') |
+-----------------+
| NULL            |
+-----------------+

Dies spiegelt die Art und Weise von Oracles TRIM() wider Funktion befasst sich mit leeren Zeichenfolgen.

In MariaDB das TRIM() Funktion gibt nur null zurück wenn Sie den Oracle-Modus verwenden. Außerhalb des Oracle-Modus wird eine leere Zeichenfolge zurückgegeben.

Null-Argument

Wenn das Argument null ist , ist das Ergebnis null :

SELECT TRIM_ORACLE(null);

Ergebnis:

+-------------------+
| TRIM_ORACLE(null) |
+-------------------+
| NULL              |
+-------------------+

Fehlendes Argument

Aufruf von TRIM_ORACLE() ohne Argument führt zu einem Fehler:

SELECT TRIM_ORACLE();

Ergebnis:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1