Database
 sql >> Base de Dados >  >> RDS >> Database

Como remover espaços à esquerda e/ou à direita de uma string no T-SQL

Problema:


Você gostaria de remover espaços ou caracteres específicos do início e do fim de uma string.

Exemplo:


Nosso banco de dados tem uma tabela chamada company com dados em duas colunas:id e name .
id nome
1 'Supermercado'
2 'Loja verde'
3 'Livraria Moderna'

Vamos cortar o nome de cada empresa para remover o espaço desnecessário no início e no final.

Solução:


Usaremos o TRIM função. Aqui está a consulta que você escreveria:
SELECT TRIM(' ' FROM name) AS new_name
FROM company;

Alternativamente, você pode usar a versão mais curta sem o FROM palavra-chave e espaço como caracteres a serem removidos; por padrão, TRIM tratará isso como a remoção de espaços de uma string armazenada em uma determinada coluna ou expressão no argumento da função TRIM.
SELECT TRIM(name) AS new_name
FROM company;

Aqui está o resultado de ambas as consultas:
new_name
'Supermercado'
'Loja verde'
'Livraria Moderna'

Discussão:


Use o TRIM função se você quiser cortar uma string em uma tabela. Esta função permite remover um caractere específico do início e do fim de uma string. Esta função recebe os seguintes argumentos:
  • O caractere que você deseja cortar da string, por padrão, é um espaço.
  • O FROM palavra-chave, seguida pelo nome da coluna de string a ser cortada.

No nosso exemplo, isso se parece com:
TRIM(' ' FROM name)

O T-SQL permite também remover o espaço de outros caracteres apenas do início ou apenas do final de uma string.

O exemplo abaixo remove o espaço no final de cada empresa usando a função RTRIM().
SELECT RTRIM(name) AS new_name
FROM company;
new_name
'Supermercado'
'Loja verde'
'Livraria Moderna'

Mas também pode ser usado para cortar o espaço no início se você usar o LTRIM função em vez disso:
SELECT LTRIM(name) AS new_name
FROM company;

A consulta retorna o name coluna sem espaço no final. Observe que os espaços no início são deixados intocados.
new_name
'Supermercado'
'Loja verde'
'Livraria Moderna'