MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come funziona TRIM_ORACLE() in MariaDB

In MariaDB, TRIM_ORACLE() è un sinonimo della versione in modalità Oracle di TRIM() funzione.

TRIM_ORACLE() è disponibile in tutte le modalità, quindi ti evita di dover passare alla modalità Oracle, che è ciò che dovresti fare se volessi il TRIM() funzione per comportarsi come TRIM() di Oracle funzione.

La differenza sta nel modo in cui ciascuna funzione tratta le stringhe vuote. Oracle restituisce null mentre MariaDB restituisce una stringa vuota.

Sintassi

La sintassi è questa:

TRIM_ORACLE([remstr FROM] str)

Oppure:

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

Dove str è la stringa da cui rimuovere eventuali spazi finali e remstr è la stringa da rimuovere.

Se remstr non è fornito, quindi TRIM_ORACLE() rimuove gli spazi.

Esempio

Ecco un esempio di base:

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

Risultato:

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

Questo esempio utilizza la sintassi più elementare. Tutto ciò che abbiamo fatto è stato fornire lo spago da tagliare. Non abbiamo specificato quale/i carattere/i tagliare, quindi tutti gli spazi sono stati tagliati da entrambi i lati della stringa.

Possiamo anche vedere che lo spazio all'interno della stringa rimane intatto.

Guarda come TRIM() Funziona in MariaDB per esempi di utilizzo di altre opzioni, come specificare una stringa da tagliare e quale lato della stringa da tagliare. TRIM_ORACLE() funziona esattamente allo stesso modo in questi casi, con la possibile eccezione di quando la stringa da tagliare è una stringa vuota.

Stringhe vuote

Passaggio di una stringa vuota a TRIM_ORACLE() risulta null in fase di restituzione.

SELECT TRIM_ORACLE('');

Risultato:

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

Ciò riflette il modo in cui TRIM() di Oracle la funzione si occupa di stringhe vuote.

In MariaDB, il TRIM() la funzione restituisce solo null quando utilizzi la modalità Oracle. Quando non è in modalità Oracle, restituisce una stringa vuota.

Argomento nullo

Se l'argomento è null , il risultato è null :

SELECT TRIM_ORACLE(null);

Risultato:

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

Argomento mancante

Chiamando TRIM_ORACLE() senza un argomento genera un errore:

SELECT TRIM_ORACLE();

Risultato:

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