sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo eliminar los caracteres iniciales y finales en SQL Server

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.