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:
BOTHper impostazione predefinita). - Il carattere che vuoi ritagliare dalla stringa.
- Il
FROMparola 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' |