Problema:
Desideri rimuovere caratteri specifici dall'inizio e dalla fine di una stringa.
Esempio:
Il nostro database ha una tabella denominata post
con i dati in due colonne:id
e title
.
id | titolo |
---|---|
1 | 'Notizie sui cani' |
3 | 'Eurovision 2019 ' |
4 | 'Nuovo clima politico' |
Tagliamo il titolo di ogni post per rimuovere lo spazio non necessario all'inizio e alla fine.
Soluzione:
Useremo il TRIM
funzione. Ecco la domanda che scriveresti:
SELECT TRIM( BOTH ' ' FROM title ) as new_title FROM post;
In alternativa, puoi utilizzare la versione più breve senza BOTH
parola chiave; per impostazione predefinita, TRIM
tratterà questo come un'operazione ENTRAMBE.
SELECT TRIM(' ' FROM title ) as new_title FROM post;
Ecco il risultato di entrambe le query:
nuovo_titolo |
---|
'Notizie sui cani' |
'Eurovision 2019' |
'Nuovo clima politico' |
Discussione:
Usa il TRIM
funzione se vuoi tagliare una stringa in una tabella. Questa funzione consente di rimuovere un carattere specifico dall'inizio o dalla fine di una stringa o da entrambe le estremità. Questa funzione accetta i seguenti argomenti:
- Una parola chiave che specifica le estremità da cui tagliare (opzionale:
BOTH
per impostazione predefinita). - Il carattere che vuoi ritagliare dalla stringa.
- Il
FROM
parola chiave, seguita dal nome della colonna della stringa da tagliare.
Nel nostro esempio, è simile a:
TRIM( BOTH ' ' FROM title )
Come accennato in precedenza, TRIM
può prendere altre parole chiave come primo argomento. Oltre a tagliare da entrambe le estremità, ci consente di rimuovere un carattere solo dalla fine di una stringa o solo dall'inizio:
TRAILING
(rimuovere dalla fine)LEADING
(rimuove dall'inizio)
L'esempio seguente rimuove lo spazio alla fine di ogni titolo (ma potrebbe anche essere usato per tagliare lo spazio all'inizio se usi LEADING
parola chiave invece):
SELECT TRIM( TRAILING ' ' FROM title ) as new_title FROM post;
La query restituisce il title
colonna senza spazio alla fine. Nota che gli spazi all'inizio non vengono toccati.
nuovo_titolo |
---|
'Notizie sui cani' |
'Eurovision 2019' |
'Nuovo clima politico' |