Compartilhar via


TRIM (Transact-SQL)

Aplica-se a: SQL Server 2017 (14.x) e posterior Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric

Remove o caractere de espaço char(32) ou outros caracteres especificados do início e final de uma cadeia de caracteres.

Opcionalmente, remove o caractere de espaço char(32) ou outros caracteres especificados do início, do fim ou de ambos os lados de uma cadeia de caracteres.

A partir do SQL Server 2022 (16.x), remove opcionalmente o caractere de espaço char(32) ou outros caracteres especificados do início, final ou ambos os lados de uma cadeia de caracteres.

Convenções de sintaxe de Transact-SQL

Sintaxe

Sintaxe para SQL Server 2022 (16.x) e versões anteriores, Banco de Dados SQL do Azure e Azure Synapse Analytics:

TRIM ( [ characters FROM ] string )

Sintaxe para SQL Server 2022 (16.x) e versões posteriores, Instância Gerenciada de SQL do Azure e Microsoft Fabric:

Importante

Você precisa do nível de compatibilidade do banco de dados definido como 160 para usar as palavras-chave LEADING, TRAILING ou BOTH.

TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )

Argumentos

[ LEADING | TRAILING | BOTH ]

Aplicável a: SQL Server 2022 (16.x) e versões posteriores, Instância Gerenciada de SQL do Azure e Microsoft Fabric:

O primeiro argumento opcional especifica qual lado da cadeia de caracteres cortar:

  • LEADING remove os caracteres especificados desde o início de uma cadeia de caracteres.

  • TRAILING remove os caracteres especificados desde o final de uma cadeia de caracteres.

  • BOTH (comportamento posicional padrão) remove os caracteres especificados do início e do final de uma cadeia de caracteres.

caracteres

Uma chamada de função, variável ou literal de qualquer tipo de caractere não LOB (nvarchar, varchar, nchar ou char) contendo caracteres que devem ser removidos. Os tipos nvarchar(max) e varchar(max) não são permitidos.

cadeia de caracteres

Uma expression de qualquer tipo de caractere (char, nchar, nvarchar ou varchar) em que caracteres devem ser removidos.

Tipos de retorno

Retorna uma expressão de caractere com um tipo de argumento de cadeia de caracteres na qual o caractere de espaço char(32) ou outros caracteres especificados são removidos de ambos os lados. Retorna NULL se a cadeia de caracteres de entrada é NULL.

Comentários

Por padrão, a função TRIM remove o caractere de espaço das extremidades inicial e final da cadeia de caracteres. Esse comportamento é equivalente a LTRIM(RTRIM(@string)).

Para habilitar os argumentos posicionais LEADING, TRAILING ou BOTHopcionais no SQL Server 2022 (16.x), habilite o nível de compatibilidade do banco de dados 160 no bancos de dado ao qual você está se conectando ao executar consultas.

  • Com o argumento posicional LEADING opcional, o comportamento é equivalente a LTRIM(@string, characters).
  • Com o argumento posicional TRAILING opcional, o comportamento é equivalente a RTRIM(@string, characters).

Exemplos

a. Remova o caractere de espaço de ambos os lados da cadeia de caracteres

O exemplo a seguir remove os espaços antes e depois da palavra test.

SELECT TRIM( '     test    ') AS Result;

Veja a seguir o conjunto de resultados.

test

B. Remova caracteres especificados de ambos os lados da cadeia de caracteres

O exemplo a seguir fornece uma lista de possíveis caracteres a serem removidos de uma cadeia de caracteres.

SELECT TRIM( '.,! ' FROM '     #     test    .') AS Result;

Veja a seguir o conjunto de resultados.

#     test

Neste exemplo, somente o ponto à direita e os espaços antes de # e depois da palavra test foram removidos. Os outros caracteres foram ignorados porque não existiam na cadeia de caracteres.

C. Remover os caracteres especificados do final da cadeia de caracteres

Importante

Você precisa do nível de compatibilidade do banco de dados definido como 160 para usar as palavras-chave LEADING, TRAILING ou BOTH.

O exemplo a seguir remove o . à esquerda do início da cadeia de caracteres antes da palavra test.

SELECT TRIM(LEADING '.,! ' FROM  '     .#     test    .') AS Result;

Veja a seguir o conjunto de resultados.

# test .

D. Remova caracteres especificados do final da cadeia de caracteres

Importante

Você precisa do nível de compatibilidade do banco de dados definido como 160 para usar as palavras-chave LEADING, TRAILING ou BOTH.

O exemplo a seguir remove o . à direita do final da cadeia de caracteres após a palavra test.

SELECT TRIM(TRAILING '.,! ' FROM '     .#     test    .') AS Result;

Veja a seguir o conjunto de resultados.

.#     test

E. Remover caracteres especificados do início e do fim de uma cadeia de caracteres

Importante

Você precisa do nível de compatibilidade do banco de dados definido como 160 para usar as palavras-chave LEADING, TRAILING ou BOTH.

O exemplo a seguir remove os caracteres 123 do início da cadeia de caracteres 123abc123.

SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;

Veja a seguir o conjunto de resultados.

abc