TRIM (Transact-SQL)

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPunto de conexión de análisis SQL en Microsoft FabricAlmacenamiento de Microsoft Fabric

Esto permite quitar el carácter de espacio char(32) (u otros caracteres especificados) del principio y del final de una cadena.

Opcionalmente, quita el carácter de espacio char(32) u otros caracteres especificados del principio, del final o de ambos lados de una cadena.

A partir de SQL Server 2022 (16.x), puede quitar el carácter de espacio char(32) u otros caracteres especificados del principio, el final o ambos lados de una cadena.

Convenciones de sintaxis de Transact-SQL

Sintaxis

Sintaxis para SQL Server 2022 (16.x) y versiones anteriores, Azure SQL Database y Azure Synapse Analytics:

TRIM ( [ characters FROM ] string )

Sintaxis de SQL Server 2022 (16.x) y versiones posteriores, Azure SQL Managed Instance y Microsoft Fabric:

Importante

Necesita el nivel de compatibilidad de la base de datos establecido en 160 para usar las palabras clave LEADING, TRAILING, o BOTH.

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

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

[ LEADING | TRAILING | BOTH ]

Se aplica a: SQL Server 2022 (16.x), y versiones posteriores, Azure SQL Managed Instance y Microsoft Fabric:

El primer argumento opcional especifica el lado de la cadena que se va a recortar:

  • LEADING quita los caracteres especificados desde el inicio de una cadena.

  • TRAILING quita los caracteres especificados desde el final de una cadena.

  • BOTH (comportamiento posicional predeterminado) quita los caracteres especificados desde el principio y el final de una cadena.

characters

Un literal, una variable o una llamada de función de cualquier tipo de carácter no de LOB (nvarchar, , varchar, nchar, o char) que contiene caracteres que se deben quitar. No se permiten los tipos nvarchar(max) y varchar(max).

string

Una expresión de cualquier tipo de carácter (nvarchar, varchar, nchar, o char) donde se deben quitar caracteres.

Tipos de valores devueltos

Devuelve una expresión de caracteres con un tipo de argumento de cadena donde el carácter de espacio char(32) u otros caracteres especificados se quitan de ambos lados. Devuelve NULL si la cadena de entrada es NULL.

Comentarios

De manera predeterminada, la función TRIM quita el carácter de espacio de los extremos de inicio y final de la cadena. Este comportamiento equivale a LTRIM(RTRIM(@string)).

Para habilitar los argumentos opcionales LEADING, TRAILINGo BOTH posicionales en SQL Server 2022 (16.x), debe habilitar el nivel 160 de compatibilidad de la base de datos en la o las bases de datos a las que se va a conectar al ejecutar consultas.

  • Con el argumento posicional opcional LEADING, el comportamiento es equivalente a LTRIM(@string, characters).
  • Con el argumento posicional opcional TRAILING, el comportamiento es equivalente a RTRIM(@string, characters).

Ejemplos

A. Eliminación del carácter de espacio de ambos lados de la cadena

En el siguiente ejemplo se quitan los espacios que van antes y después de la palabra test.

SELECT TRIM( '     test    ') AS Result;

El conjunto de resultados es el siguiente:

test

B. Eliminación de los caracteres especificados de ambos lados de la cadena

En el ejemplo siguiente se proporciona una lista de los posibles caracteres que se van a quitar de una cadena.

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

El conjunto de resultados es el siguiente:

#     test

En este ejemplo, solo se quitaron los espacios y el punto final de antes # y después de la palabra test. Los demás caracteres se ignoraron porque no existían en la cadena.

C. Eliminación de los caracteres especificados de ambos lados de la cadena

Importante

Necesita el nivel de compatibilidad de la base de datos establecido en 160 para usar las palabras clave LEADING, TRAILING, o BOTH.

En el ejemplo siguiente se quita el principio . de la cadena antes de la palabra test.

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

El conjunto de resultados es el siguiente:

# test .

D. Eliminación de los caracteres especificados de ambos lados de la cadena

Importante

Necesita el nivel de compatibilidad de la base de datos establecido en 160 para usar las palabras clave LEADING, TRAILING, o BOTH.

En el ejemplo siguiente se quita el final . de la cadena después de la palabra test.

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

El conjunto de resultados es el siguiente:

.#     test

E. Quitar caracteres especificados del principio y el final de una cadena

Importante

Necesita el nivel de compatibilidad de la base de datos establecido en 160 para usar las palabras clave LEADING, TRAILING, o BOTH.

En el ejemplo siguiente se quitan los caracteres 123 del principio y el final de la cadena 123abc123.

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

El conjunto de resultados es el siguiente:

abc