Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como remover caracteres iniciais e finais no SQL Server


No SQL Server, o TRIM() A função é comumente usada para remover espaços em branco à esquerda e à direita de uma string. Mas você sabia que também pode remover outros caracteres do início/fim de uma string? Não precisa ser espaço em branco.

TRIM() é uma função T-SQL que remove especificamente o caractere de espaço char(32) ou outros caracteres especificados do início ou do fim de uma string.

Sintaxe


A sintaxe fica assim:
TRIM ( [ characters FROM ] string )

A string argumento é um argumento obrigatório – é a string real a ser cortada.

Os characters FROM é um argumento opcional é o bit que permite especificar quais caracteres devem ser removidos (assumindo que você não está apenas removendo o caractere de espaço). Se você não especificar quais caracteres, o caractere de espaço será cortado.


Exemplo


Aqui está um exemplo básico de corte de sinais de igual à esquerda e à direita (= ) de uma string:
SELECT TRIM('=' FROM '=SPECIALS=') AS Result;

Resultado
Result  
--------
SPECIALS

Várias instâncias de um personagem


Ele também apara várias instâncias do caractere especificado.

Exemplo:
SELECT TRIM('=' FROM '===SPECIALS===') AS Result;

Resultado:
Result  
--------
SPECIALS

Cortar vários caracteres


Também permite cortar vários caracteres.

Exemplo:
SELECT TRIM('!*=+?' FROM '=+=*!SPECIALS?=+=') AS Result;

Resultado:
Result  
--------
SPECIALS

Espaço em branco incorporado


Se houver espaço em branco dentro do(s) caractere(s) aparado(s), não espere que esse espaço em branco seja cortado (a menos que você também especifique explicitamente o caractere de espaço como um dos caracteres a serem cortados).

Aqui está o que quero dizer:
SELECT TRIM('=' FROM '=   SPECIALS   =') AS Result;

Resultado:
Result        
--------------
   SPECIALS   

Nesse caso, o sinal de igual é cortado, mas o espaço em branco permanece. Isso ocorre porque o espaço em branco não está imediatamente à esquerda e/ou à direita da string.

Se quisermos remover o sinal de igual e o espaço em branco, podemos simplesmente adicionar um caractere de espaço à lista de caracteres a serem cortados:
SELECT TRIM('=' FROM '=   SPECIALS   =') AS Result;

Resultado:
Result  
--------
SPECIALS

Personagens cercados por espaços em branco


Semelhante ao exemplo anterior, você não pode esperar que o SQL Server corte o caractere especificado se houver espaço em branco entre ele e o início/fim da string.

Por exemplo:
SELECT TRIM('=' FROM '   =SPECIALS=   ') AS Result;

Resultado:
Result          
----------------
   =SPECIALS=

Neste exemplo, nada foi aparado. Isso ocorre porque há espaço em branco entre os sinais de igual e o início/fim da string.

Neste caso, você pode simplesmente adicionar o caractere de espaço como um dos caracteres a serem cortados:
SELECT TRIM('=' FROM '   =SPECIALS=   ') AS Result;

Resultado:
Result  
--------
SPECIALS

Para mais exemplos de uso de TRIM() para cortar espaços em branco à esquerda e à direita de uma string, consulte Como remover espaços em branco à esquerda e à direita no SQL Server.