MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment TRIM_ORACLE() fonctionne dans MariaDB

Dans MariaDB, TRIM_ORACLE() est un synonyme de la version en mode Oracle du TRIM() une fonction.

TRIM_ORACLE() est disponible dans tous les modes, ce qui vous évite d'avoir à passer en mode Oracle, ce que vous auriez besoin de faire si vous vouliez le TRIM() fonction pour se comporter comme le TRIM() d'Oracle fonction.

La différence réside dans la façon dont chaque fonction traite les chaînes vides. Oracle renvoie null tandis que MariaDB renvoie une chaîne vide.

Syntaxe

La syntaxe ressemble à ceci :

TRIM_ORACLE([remstr FROM] str)

Ou :

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

str est la chaîne dont il faut supprimer tous les espaces de fin, et remstr est la chaîne à supprimer.

Si remstr n'est pas fourni, alors TRIM_ORACLE() supprime les espaces.

Exemple

Voici un exemple de base :

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

Résultat :

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

Cet exemple utilise la syntaxe la plus basique. Tout ce que nous avons fait, c'est fournir la ficelle à couper. Nous n'avons pas spécifié quel(s) caractère(s) couper, et donc tous les espaces ont été coupés des deux côtés de la chaîne.

Nous pouvons également voir que l'espace dans la chaîne reste intact.

Voir comment TRIM() Fonctionne dans MariaDB pour des exemples d'utilisation d'autres options, telles que la spécification d'une chaîne à couper et le côté de la chaîne à couper. TRIM_ORACLE() fonctionne exactement de la même manière dans de tels cas, à l'exception possible du cas où la chaîne à rogner est une chaîne vide.

Chaînes vides

Passer une chaîne vide à TRIM_ORACLE() donne null être retourné.

SELECT TRIM_ORACLE('');

Résultat :

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

Cela reflète la façon dont Oracle TRIM() La fonction traite les chaînes vides.

Dans MariaDB, le TRIM() la fonction ne renvoie que null lorsque vous utilisez le mode Oracle. Lorsqu'il n'est pas en mode Oracle, il renvoie une chaîne vide.

Argument nul

Si l'argument est null , le résultat est null :

SELECT TRIM_ORACLE(null);

Résultat :

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

Argument manquant

Appel de TRIM_ORACLE() sans argument génère une erreur :

SELECT TRIM_ORACLE();

Résultat :

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