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.