LTRIM
La función LTRIM elimina los espacios en blanco del inicio (el lado izquierdo) de una cadena, dejando intacto el resto del texto, incluidos los espacios que pueda haber al final. Su nombre viene de "left trim", recorte por la izquierda, y es la contrapartida de RTRIM, que recorta por la derecha.
Aunque parezca una operación menor, eliminar los espacios iniciales es importante en muchos contextos. Un texto con espacios al principio se ordena de forma incorrecta (los espacios tienen un valor bajo en la mayoría de las colaciones, así que esos registros aparecen los primeros), se muestra desalineado en informes y puede provocar que dos valores que deberían ser iguales se traten como distintos. LTRIM ofrece una forma directa y legible de resolver ese problema concreto cuando solo te interesa el lado izquierdo. En este artículo veremos su sintaxis, ejemplos comparativos y sus límites.
Sintaxis
LTRIM recibe un único argumento, la cadena que se quiere limpiar, y devuelve esa misma cadena sin los espacios iniciales. No admite opciones ni caracteres adicionales.
LTRIM(cadena)Funcionalmente equivale a TRIM con la opción LEADING, pero con una diferencia importante: LTRIM solo elimina espacios, mientras que TRIM(LEADING 'x' FROM ...) puede eliminar cualquier carácter. Si solo necesitas quitar espacios, LTRIM es más corto y expresa la intención con claridad.
Ejemplo básico
Veamos el comportamiento fundamental. Pasamos una cadena con espacios a ambos lados y, al envolver el resultado entre corchetes con CONCAT, comprobamos que solo desaparecen los del inicio:
SELECT CONCAT('[', LTRIM(' Hola mundo '), ']') AS resultado;| resultado |
|---|
| [Hola mundo ] |
Como se aprecia, solo se eliminan los espacios del inicio; los del final permanecen. Esto es exactamente lo que distingue a LTRIM de las otras funciones de recorte.
Comparación visual
La mejor forma de entender LTRIM es verlo junto a sus funciones hermanas sobre la misma cadena. El siguiente ejemplo aplica las cuatro variantes de recorte y envuelve cada resultado entre corchetes para que la diferencia sea evidente:
SELECT
CONCAT('[', ' texto ', ']') AS original,
CONCAT('[', LTRIM(' texto '), ']') AS ltrim_result,
CONCAT('[', RTRIM(' texto '), ']') AS rtrim_result,
CONCAT('[', TRIM(' texto '), ']') AS trim_result;| original | ltrim_result | rtrim_result | trim_result |
|---|---|---|---|
| [ texto ] | [texto ] | [ texto] | [texto] |
La tabla resume de un vistazo la división del trabajo: LTRIM actúa por la izquierda, RTRIM por la derecha y TRIM por ambos lados. Elegir uno u otro depende de qué extremo de la cadena quieras conservar.
LTRIM con datos de tabla
Sobre columnas de una tabla, LTRIM se aplica igual que sobre una cadena literal. El siguiente ejemplo muestra el nombre de varios clientes recortado por la izquierda y envuelto entre corchetes para confirmar que no arrastran espacios iniciales:
SELECT nombre, CONCAT('[', LTRIM(nombre), ']') AS limpio
FROM clientes
LIMIT 3;| nombre | limpio |
|---|---|
| María | [María] |
| Carlos | [Carlos] |
| Laura | [Laura] |
En estos datos los nombres ya están limpios, pero la consulta seguiría funcionando igual si alguno tuviera espacios al principio, que es justo lo que LTRIM se encargaría de eliminar.
LTRIM no afecta a otros caracteres
Es fundamental entender qué considera LTRIM un "espacio". La función solo elimina el carácter de espacio normal, no tabulaciones, saltos de línea ni ningún otro símbolo. El siguiente ejemplo lo demuestra: los espacios desaparecen, pero los asteriscos se quedan tal cual:
SELECT
LTRIM(' espacios') AS con_espacios,
LTRIM('***asteriscos') AS con_asteriscos;| con_espacios | con_asteriscos |
|---|---|
| espacios | ***asteriscos |
Para eliminar otros caracteres del inicio, la herramienta adecuada es TRIM(LEADING 'x' FROM cadena), que sí permite especificar qué carácter quitar. También puedes combinar LTRIM con REPLACE cuando necesites limpiezas más complejas que mezclen espacios y otros símbolos.
Errores comunes
El error más típico es esperar que LTRIM elimine tabulaciones o saltos de línea iniciales, algo habitual cuando el texto procede de un fichero o de copiar y pegar. Como solo trata el espacio normal, esos caracteres invisibles sobreviven al recorte y siguen causando problemas. En esos casos hay que recurrir a TRIM con el carácter concreto o a REPLACE.
Otro malentendido frecuente es pensar que LTRIM modifica la columna de la tabla. No es así: como todas las funciones de cadena, devuelve un valor nuevo sin tocar el dato original. Para que el cambio sea permanente necesitas un UPDATE que asigne el resultado de LTRIM a la columna.
Cuándo usar LTRIM
LTRIM es la opción más clara cuando lo único que te interesa es eliminar espacios del inicio de un texto y conservar el resto, por ejemplo al alinear valores en un informe o al normalizar códigos que llegan con sangría. Si necesitas recortar también el final, usa TRIM; y si el problema no son espacios sino otros caracteres, TRIM con un carácter específico o REPLACE son las alternativas adecuadas.
En el siguiente artículo veremos RTRIM, la función simétrica que recorta los espacios del final de la cadena.
Escrito por Eduardo Lázaro
