Problema:
Desideri rimuovere spazi o caratteri specifici dall'inizio e dalla fine di una stringa.
Esempio:
Il nostro database ha una tabella denominata company
con i dati in due colonne:id
e name
.
id | |
---|---|
1 | ' Supermercato ' |
2 | 'Negozio verde' |
3 | ' Libreria moderna' |
Tagliamo il nome di ogni azienda per rimuovere lo spazio non necessario all'inizio e alla fine.
Soluzione:
Useremo il TRIM
funzione. Ecco la domanda che scriveresti:
SELECT TRIM(' ' FROM name) AS new_name FROM company;
In alternativa, puoi utilizzare la versione più breve senza il FROM
parola chiave e spazio come caratteri da rimuovere; per impostazione predefinita, TRIM
tratterà questo come la rimozione di spazi da una stringa memorizzata in una determinata colonna o espressione nell'argomento della funzione TRIM.
SELECT TRIM(name) AS new_name FROM company;
Ecco il risultato di entrambe le query:
nuovo_nome |
---|
'Supermercato' |
'Negozio verde' |
'Libreria moderna' |
Discussione:
Usa il TRIM
funzione se vuoi tagliare una stringa in una tabella. Questa funzione consente di rimuovere un carattere specifico dall'inizio e dalla fine di una stringa. Questa funzione accetta i seguenti argomenti:
- Il carattere che vuoi ritagliare dalla stringa, di default è uno spazio..
- Il
FROM
parola chiave, seguita dal nome della colonna della stringa da tagliare.
Nel nostro esempio, è simile a:
TRIM(' ' FROM name)
T-SQL consente anche di rimuovere lo spazio di altri caratteri solo dall'inizio o solo dalla fine di una stringa.
L'esempio seguente rimuove lo spazio alla fine di ogni azienda utilizzando la funzione RTRIM().
SELECT RTRIM(name) AS new_name FROM company;
nuovo_nome |
---|
'Super Market' |
'Negozio verde' |
' Libreria moderna' |
Ma potrebbe anche essere usato per tagliare lo spazio all'inizio se usi LTRIM
funzione invece:
SELECT LTRIM(name) AS new_name FROM company;
La query restituisce il name
colonna senza spazio alla fine. Si noti che gli spazi all'inizio non vengono toccati.
nuovo_nome |
---|
'Supermercato' |
'Negozio verde' |
'Libreria moderna' |