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

Come rimuovere gli spazi iniziali e/o finali di una stringa in T-SQL

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'