TRIM (Transact-SQL)
Se aplica a: SQL Server 2017 (14.x) y versiones posteriores
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Punto de conexión SQL en Microsoft Fabric
Almacenamiento 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.
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 anteriores a SQL Server 2022 (16.x), Azure SQL Database, Azure Synapse Analytics y Microsoft Fabric::
TRIM ( [ characters FROM ] string )
Sintaxis de SQL Server 2022 (16.x), y versiones posteriores, y Azure SQL Managed Instance:
Importante
Necesitará 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 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, y Azure SQL Managed Instance:
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. Los tipos nvarchar(max)
y varchar(max)
no se permiten.
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
, TRAILING
o 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 aLTRIM(@string, characters)
. - Con el argumento posicional opcional
TRAILING
, el comportamiento es equivalente aRTRIM(@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
Necesitará 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
Necesitará 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
Necesitará 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
Vea también
- LEFT (Transact-SQL)
- LTRIM (Transact-SQL)
- RIGHT (Transact-SQL)
- RTRIM (Transact-SQL)
- STRING_SPLIT (Transact-SQL)
- SUBSTRING (Transact-SQL)
- String Functions (Transact-SQL) [Funciones de cadena (Transact-SQL)]