In SQL Server, il TRIM()
La funzione è comunemente usata per rimuovere gli spazi bianchi iniziali e finali da una stringa. Ma lo sapevi che puoi anche rimuovere altri caratteri dall'inizio/fine di una stringa? Non deve essere uno spazio bianco.
TRIM()
è una funzione T-SQL che rimuove specificamente il carattere spazio char(32)
o altri caratteri specificati dall'inizio o dalla fine di una stringa.
Sintassi
La sintassi è questa:
TRIM ( [ characters FROM ] string )
La string
argomento è un argomento obbligatorio:è la stringa effettiva da tagliare.
I characters FROM
è un argomento facoltativo è il bit che ti consente di specificare quali caratteri devono essere rimossi (supponendo che tu non stia solo rimuovendo il carattere spazio). Se non specifichi quali caratteri, lo spazio verrà tagliato.
Esempio
Ecco un esempio di base di taglio dei segni di uguale iniziali e finali (=
) da una stringa:
SELECT TRIM('=' FROM '=SPECIALS=') AS Result;
Risultato
Result -------- SPECIALS
Istanze multiple di un personaggio
Taglia anche più istanze del carattere specificato.
Esempio:
SELECT TRIM('=' FROM '===SPECIALS===') AS Result;
Risultato:
Result -------- SPECIALS
Rifilatura di più caratteri
Ti consente anche di tagliare più caratteri.
Esempio:
SELECT TRIM('!*=+?' FROM '=+=*!SPECIALS?=+=') AS Result;
Risultato:
Result -------- SPECIALS
Spazio bianco incorporato
Se esiste uno spazio bianco all'interno del/i carattere/i tagliato/i, non aspettarti che lo spazio bianco venga tagliato (a meno che tu non specifichi esplicitamente anche il carattere spazio come uno dei caratteri da tagliare).
Ecco cosa intendo:
SELECT TRIM('=' FROM '= SPECIALS =') AS Result;
Risultato:
Result -------------- SPECIALS
In questo caso, il segno di uguale viene tagliato ma lo spazio bianco rimane. Questo perché lo spazio bianco non è immediatamente a sinistra e/oa destra della stringa.
Se vogliamo rimuovere entrambi i segni di uguale e lo spazio bianco, possiamo semplicemente aggiungere uno spazio all'elenco dei caratteri da ritagliare:
SELECT TRIM('= ' FROM '= SPECIALS =') AS Result;
Risultato:
Result -------- SPECIALS
Personaggi circondati da spazi bianchi
Simile all'esempio precedente, non puoi aspettarti che SQL Server tagli il carattere specificato se è presente uno spazio vuoto tra esso e l'inizio/fine della stringa.
Ad esempio:
SELECT TRIM('=' FROM ' =SPECIALS= ') AS Result;
Risultato:
Result ---------------- =SPECIALS=
In questo esempio, nulla è stato tagliato. Questo perché c'è uno spazio bianco tra i segni di uguale e l'inizio/fine della stringa.
In questo caso, puoi semplicemente aggiungere il carattere spazio come uno dei caratteri da ritagliare:
SELECT TRIM('= ' FROM ' =SPECIALS= ') AS Result;
Risultato:
Result -------- SPECIALS
Per ulteriori esempi di utilizzo di TRIM()
per tagliare gli spazi bianchi a sinistra e a destra di una stringa, consulta Come rimuovere gli spazi vuoti iniziali e finali in SQL Server.