Contenido de esta guía
Qué hace TRIM
TRIM devuelve un texto sin los espacios que sobran al principio y al final. Es útil cuando un dato llega desde un formulario, una importación o un archivo con separaciones accidentales.
No modifica el valor guardado si lo utilizas dentro de SELECT. Tampoco elimina los espacios que forman parte del texto, como el que separa nombre y apellido.
Sintaxis básica
TRIM(texto)LTRIM(texto)
RTRIM(texto)LTRIM limpia el lado izquierdo y RTRIM el derecho. La forma de indicar caracteres distintos del espacio cambia entre motores, así que conviene consultar la documentación antes de usar una variante avanzada.
Ejemplo guiado
El literal contiene tres espacios antes y después del texto. TRIM devuelve únicamente el contenido útil:
SELECT TRIM(' SQL para todos ') AS texto_limpio;| texto_limpio |
|---|
| SQL para todos |
Qué ha cambiado
- Los espacios exteriores desaparecen.
- Los espacios entre SQL, para y todos permanecen.
- El literal original no se almacena ni se modifica: solo cambia el resultado mostrado.
TRIM no corrige todos los problemas de calidad. No unifica mayúsculas, no repara nombres mal escritos y no elimina espacios duplicados dentro del texto. Cada problema necesita una regla concreta.
Error frecuente
Eliminar todos los espacios con REPLACE
SELECT REPLACE(' Ana Torres ', ' ', '');Ese enfoque devuelve AnaTorres: también borra la separación válida entre nombre y apellido. Si solo sobran espacios en los extremos, utiliza TRIM.
Comprueba lo aprendido
Limpia una ciudad y cuenta sus caracteres
Devuelve el texto ' Madrid ' sin espacios exteriores como ciudad_limpia y calcula su longitud como caracteres.
Solución razonada
SELECT TRIM(' Madrid ') AS ciudad_limpia,
LENGTH(TRIM(' Madrid ')) AS caracteres;La primera expresión devuelve Madrid. La segunda cuenta seis caracteres porque recibe el texto ya limpio.
Limpia primero y transforma después
Parte del texto ' Ana Torres '. Devuelve el nombre sin espacios exteriores como nombre_limpio y crea además usuario_demo sustituyendo el espacio interior por un punto. No debes perder la separación entre nombre y apellido antes de crear el usuario.
Criterio de éxito: obtienes Ana Torres y Ana.Torres.
TRIM.REPLACE al texto ya limpiado.TRIM dentro de REPLACE.Solución razonada
SELECT TRIM(' Ana Torres ') AS nombre_limpio,
REPLACE(TRIM(' Ana Torres '), ' ', '.') AS usuario_demo;| nombre_limpio | usuario_demo |
|---|---|
| Ana Torres | Ana.Torres |
El orden importa: TRIM elimina solo el sobrante exterior y conserva Ana Torres; después REPLACE transforma el espacio interior en un punto. Así cada función resuelve un problema distinto.
Diferencias entre motores
SQLite permite un segundo argumento con los caracteres que se deben quitar. PostgreSQL ofrece la forma SQL con LEADING, TRAILING o BOTH. MySQL admite varias formas de TRIM. Para limpiar espacios comunes, TRIM(texto) es la opción más fácil de trasladar.
Qué debes recordar
TRIMlimpia ambos extremos.LTRIMyRTRIMactúan sobre un solo lado.- Los espacios interiores se conservan.
- Dentro de
SELECT, la función transforma el resultado, no el dato almacenado.
Conceptos relacionados
Fuentes técnicas consultadas
Se utilizaron para comprobar el comportamiento y las variantes de la función.