Cadenasestándar SQL

TRIM

Quita los espacios (u otros caracteres) del principio y del final de una cadena.

Sintaxis

TRIM(<texto>)
TRIM(LEADING <caracteres> FROM <texto>)
TRIM(TRAILING <caracteres> FROM <texto>)
TRIM(BOTH <caracteres> FROM <texto>)

Sin palabras adicionales quita los espacios de ambos extremos. LEADING, solo al principio; TRAILING, solo al final; BOTH, de ambos lados. Lo más habitual es limpiar lo que escribe la gente: ' Emma ' de un formulario ya no es 'Emma' al comparar.

Espacios por ambos lados
SELECT TRIM(' Emma ') AS trimmed,
LENGTH(' Emma ') AS length_before,
LENGTH(TRIM(' Emma ')) AS length_after;
trimmedlength_beforelength_after
Emma104

Los espacios no se ven en la tabla de resultados, así que al lado se muestra su longitud: había 10 caracteres y quedan 4.

Solo de un lado, y no espacios
SELECT TRIM(LEADING '0' FROM '000123') AS no_zeros,
TRIM(TRAILING '.' FROM 'Hello...') AS no_dots;
no_zerosno_dots
123Hello

Ten en cuenta

El segundo argumento es un conjunto de caracteres, no una palabra: TRIM(BOTH 'ab' FROM 'abba_x_ba') quita de los extremos todas las a y b y da _x_.

Sin argumentos solo quita los espacios normales: los tabuladores y los saltos de línea se quedan. Para ellos, enumera los caracteres: TRIM(E' \t\n' FROM <texto>).

TRIM no toca los espacios del interior: 'Emma Wilson' conserva sus tres espacios.

Funciones relacionadas

LTRIMRTRIMREPLACE

Más detalles en el curso