sql >> Databáze >  >> RDS >> MariaDB

Jak TRIM_ORACLE() funguje v MariaDB

V MariaDB, TRIM_ORACLE() je synonymem pro verzi TRIM() v režimu Oracle funkce.

TRIM_ORACLE() je k dispozici ve všech režimech, takže se nemusíte přepínat do režimu Oracle, což je to, co byste museli udělat, pokud chcete TRIM() funkce, aby se chovala jako TRIM() Oracle funkce.

Rozdíl je v tom, jak každá funkce zachází s prázdnými řetězci. Oracle vrátí null zatímco MariaDB vrací prázdný řetězec.

Syntaxe

Syntaxe vypadá takto:

TRIM_ORACLE([remstr FROM] str)

Nebo:

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

Kde str je řetězec, ze kterého se mají odstranit případné koncové mezery, a remstr je řetězec k odstranění.

Pokud remstr není k dispozici, pak TRIM_ORACLE() odstraní mezery.

Příklad

Zde je základní příklad:

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

Výsledek:

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

Tento příklad používá nejzákladnější syntaxi. Jediné, co jsme udělali, bylo poskytnout provázek k oříznutí. Nespecifikovali jsme, které znaky se mají oříznout, a tak byly všechny mezery oříznuty z obou stran řetězce.

Můžeme také vidět, že mezera v řetězci zůstává nedotčena.

Viz Jak TRIM() Funguje v MariaDB pro příklady použití dalších možností, jako je zadání řetězce, který se má oříznout, a která strana řetězce se má oříznout. TRIM_ORACLE() funguje v takových případech úplně stejně, možná s výjimkou případů, kdy je řetězec, který má být oříznut, prázdný řetězec.

Prázdné řetězce

Předání prázdného řetězce do TRIM_ORACLE() výsledkem je null se vrací.

SELECT TRIM_ORACLE('');

Výsledek:

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

To odráží způsob TRIM() společnosti Oracle funkce se zabývá prázdnými řetězci.

V MariaDB, TRIM() funkce vrací pouze null když používáte režim Oracle. Když není v režimu Oracle, vrací prázdný řetězec.

Nulový argument

Pokud je argument null , výsledkem je null :

SELECT TRIM_ORACLE(null);

Výsledek:

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

Chybí argument

Volání TRIM_ORACLE() bez argumentu vede k chybě:

SELECT TRIM_ORACLE();

Výsledek:

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

  1. Sledování latence čtení/zápisu

  2. Operátoři SQL

  3. Jaké je minimální nastavení potřebné k nasazení aplikace .NET s klientem Oracle 11?

  4. Nelze se připojit k Postgres DB kvůli typu ověřování 10 není podporováno