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’ |