Рядкистандарт SQL

TRIM

Прибирає пробіли (або інші символи) на початку й у кінці рядка.

Синтаксис

TRIM(<текст>)
TRIM(LEADING <символи> FROM <текст>)
TRIM(TRAILING <символи> FROM <текст>)
TRIM(BOTH <символи> FROM <текст>)

Без додаткових слів прибирає пробіли з обох кінців. LEADING — лише на початку, TRAILING — лише в кінці, BOTH — з обох боків. Найчастіше чистять те, що ввели люди: ' Emma ' із форми — це вже не 'Emma' для порівняння.

Пробіли з обох боків
SELECT TRIM(' Emma ') AS trimmed,
LENGTH(' Emma ') AS length_before,
LENGTH(TRIM(' Emma ')) AS length_after;
trimmedlength_beforelength_after
Emma104

Пробіли в таблиці результату не видно, тому поруч їхня довжина: було 10 символів, лишилось 4.

Лише з одного боку й не пробіли
SELECT TRIM(LEADING '0' FROM '000123') AS no_zeros,
TRIM(TRAILING '.' FROM 'Hello...') AS no_dots;
no_zerosno_dots
123Hello

Зверни увагу

Другий аргумент — набір символів, а не слово: TRIM(BOTH 'ab' FROM 'abba_x_ba') прибере з країв усі a і b і дасть _x_.

Без аргументів прибирає лише звичайні пробіли — табуляції й переноси рядків лишаються. Для них перелічи символи явно: TRIM(E' \t\n' FROM <текст>).

Пробіли всередині рядка TRIM не чіпає: у 'Emma Wilson' так і лишаться три пробіли.

Схожі функції

LTRIMRTRIMREPLACE

Детально в курсі