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

Come tagliare le stringhe in SQL

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'