sql >> Databasteknik >  >> RDS >> MariaDB

Hur TRIM_ORACLE() fungerar i MariaDB

I MariaDB, TRIM_ORACLE() är en synonym för Oracle-lägesversionen av TRIM() fungera.

TRIM_ORACLE() är tillgänglig i alla lägen, så det slipper du byta till Oracle-läge, vilket är vad du skulle behöva göra om du ville ha TRIM() funktion för att bete sig som Oracles TRIM() funktion.

Skillnaden ligger i hur varje funktion behandlar tomma strängar. Oracle returnerar null medan MariaDB returnerar en tom sträng.

Syntax

Syntaxen ser ut så här:

TRIM_ORACLE([remstr FROM] str)

Eller:

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

Där str är strängen för att ta bort eventuella efterföljande mellanslag från, och remstr är strängen som ska tas bort.

Om remstr inte tillhandahålls, då TRIM_ORACLE() tar bort mellanslag.

Exempel

Här är ett grundläggande exempel:

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

Resultat:

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

Det här exemplet använder den mest grundläggande syntaxen. Allt vi gjorde var att tillhandahålla snöret för att trimma. Vi angav inte vilka tecken som skulle trimmas, så alla mellanslag trimmades från båda sidor av strängen.

Vi kan också se att utrymmet i strängen förblir intakt.

Se hur TRIM() Fungerar i MariaDB för exempel på att använda andra alternativ, som att ange en sträng som ska trimmas och vilken sida av strängen som ska trimmas. TRIM_ORACLE() fungerar exakt på samma sätt i sådana fall, möjligen med undantag för när strängen som ska trimmas är en tom sträng.

Tömma strängar

Skickar en tom sträng till TRIM_ORACLE() resulterar i null returneras.

SELECT TRIM_ORACLE('');

Resultat:

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

Detta återspeglar hur Oracles TRIM() används funktion hanterar tomma strängar.

I MariaDB, TRIM() funktion returnerar endast null när du använder Oracle-läge. När den inte är i Oracle-läge returnerar den en tom sträng.

Nollargument

Om argumentet är null , resultatet är null :

SELECT TRIM_ORACLE(null);

Resultat:

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

Argument saknas

Anropar TRIM_ORACLE() utan argument resulterar i ett fel:

SELECT TRIM_ORACLE();

Resultat:

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. Hur man inkluderar resultat som ligger på sista plats när man använder TOP-klausulen i SQL Server

  2. Programgranskning – Stellar Repair för MS SQL

  3. Hur undkommer jag ett procenttecken i T-SQL?

  4. Ta bort data från en MySQL-databas