sql >> Base de Datos >  >> RDS >> Database

Cómo recortar cadenas en SQL

Problema:

Le gustaría eliminar caracteres específicos del principio y el final de una cadena.

Ejemplo:

Nuestra base de datos tiene una tabla llamada post con datos en dos columnas:id y title .

id título
1 'Noticias sobre perros'
3 'Eurovisión 2019'
4 'Nuevo clima político'

Recortemos el título de cada publicación para eliminar el espacio innecesario al principio y al final.

Solución:

Usaremos el TRIM función. Esta es la consulta que escribirías:

SELECT TRIM( BOTH ' ' FROM title ) as new_title
FROM post;

Alternativamente, puede usar la versión más corta sin BOTH palabra clave; por defecto, TRIM tratará esto como una operación AMBAS.

SELECT TRIM(' ' FROM title ) as new_title
FROM post;

Este es el resultado de ambas consultas:

nuevo_título
'Noticias sobre perros'
'Eurovisión 2019'
'Nuevo clima político'

Discusión:

Usa el TRIM función si desea recortar una cadena en una tabla. Esta función le permite eliminar un carácter específico del principio o del final de una cadena, o de ambos extremos. Esta función toma los siguientes argumentos:

  • Una palabra clave que especifica los extremos desde los que recortar (opcional:BOTH por defecto).
  • El carácter que desea recortar de la cadena.
  • El FROM palabra clave, seguida del nombre de la columna de cadena que se va a recortar.

En nuestro ejemplo, se ve así:

TRIM( BOTH ' ' FROM title )

Como se mencionó anteriormente, TRIM puede tomar otras palabras clave como su primer argumento. Además de recortar desde ambos extremos, nos permite eliminar un carácter solo del final de una cadena o solo del principio:

  • TRAILING (quitar del final)
  • LEADING (quitar del principio)

El siguiente ejemplo elimina el espacio al final de cada título (pero también podría usarse para recortar el espacio al principio si usa el LEADING palabra clave en su lugar):

SELECT TRIM( TRAILING ' ' FROM title ) as new_title
FROM post;

La consulta devuelve el title columna sin espacio al final. Tenga en cuenta que los espacios al principio no se tocan.

nuevo_título
‘Noticias sobre perros’
'Eurovisión 2019'
‘Nuevo clima político’