En SQL Server, el TRIM()
La función se usa comúnmente para eliminar los espacios en blanco iniciales y finales de una cadena. Pero, ¿sabía que también puede eliminar otros caracteres del inicio/final de una cadena? No tiene que ser un espacio en blanco.
TRIM()
es una función T-SQL que elimina específicamente el carácter de espacio char(32)
u otros caracteres especificados desde el principio o el final de una cadena.
Sintaxis
La sintaxis es así:
TRIM ( [ characters FROM ] string )
La string
argumento es un argumento obligatorio:es la cadena real que se va a recortar.
Los characters FROM
es un argumento opcional es el bit que le permite especificar qué caracteres deben eliminarse (suponiendo que no solo está eliminando el carácter de espacio). Si no especifica qué caracteres, se recortará el carácter de espacio.
Ejemplo
Este es un ejemplo básico de cómo recortar los signos de igual iniciales y finales (=
) de una cadena:
SELECT TRIM('=' FROM '=SPECIALS=') AS Result;
Resultado
Result -------- SPECIALS
Múltiples instancias de un personaje
También recorta varias instancias del carácter especificado.
Ejemplo:
SELECT TRIM('=' FROM '===SPECIALS===') AS Result;
Resultado:
Result -------- SPECIALS
Recortar varios caracteres
También le permite recortar varios caracteres.
Ejemplo:
SELECT TRIM('!*=+?' FROM '=+=*!SPECIALS?=+=') AS Result;
Resultado:
Result -------- SPECIALS
Espacio en blanco incrustado
Si existen espacios en blanco dentro de los caracteres recortados, no espere que se recorten esos espacios en blanco (a menos que también especifique explícitamente el carácter de espacio como uno de los caracteres que se recortarán).
Esto es lo que quiero decir:
SELECT TRIM('=' FROM '= SPECIALS =') AS Result;
Resultado:
Result -------------- SPECIALS
En este caso, el signo igual se recorta pero el espacio en blanco permanece. Esto se debe a que el espacio en blanco no está inmediatamente a la izquierda y/o derecha de la cadena.
Si queremos eliminar tanto el signo igual y el espacio en blanco, simplemente podemos agregar un carácter de espacio a la lista de caracteres para recortar:
SELECT TRIM('=' FROM '= SPECIALS =') AS Result;
Resultado:
Result -------- SPECIALS
Caracteres rodeados de espacios en blanco
Al igual que en el ejemplo anterior, no puede esperar que SQL Server recorte el carácter especificado si hay un espacio en blanco entre este y el inicio/final de la cadena.
Por ejemplo:
SELECT TRIM('=' FROM ' =SPECIALS= ') AS Result;
Resultado:
Result ---------------- =SPECIALS=
En este ejemplo, no se recortó nada. Esto se debe a que hay espacios en blanco entre los signos de igual y el inicio/final de la cadena.
En este caso, simplemente puede agregar el carácter de espacio como uno de los caracteres que se recortarán:
SELECT TRIM('=' FROM ' =SPECIALS= ') AS Result;
Resultado:
Result -------- SPECIALS
Para más ejemplos del uso de TRIM()
para recortar los espacios en blanco de la izquierda y la derecha de una cadena, consulte Cómo eliminar los espacios en blanco iniciales y finales en SQL Server.