Перейти к содержимому
Последнее обновление

TRIM

Описание​

Функция TRIM используется для удаления подряд идущих пробелов или указанных строк с обоих концов строки. Если второй параметр не указан, удаляются начальные и конечные пробелы; если указан, функция удаляет указанную строку целиком с обоих концов.

Синтаксис​

TRIM(<str>[, <rhs>])

Параметры​

ПараметрОписание
<str>Строка для обработки. Тип: VARCHAR
<rhs>Необязательный параметр, символы для удаления с обоих концов строки. Тип: VARCHAR

Возвращаемое значение​

Возвращает значение типа VARCHAR.

Особые случаи:

  • Если какой-либо параметр равен NULL, возвращается NULL
  • Если rhs не указан, удаляются начальные и конечные пробелы
  • Если rhs указан, строка rhs удаляется целиком с обоих концов (а не посимвольно)

Примеры​

  1. Удаление начальных и конечных пробелов
SELECT trim('   ab d   ') str;
+------+
| str |
+------+
| ab d |
+------+
  1. Удаление указанных строк с обоих концов: trim(str, rhs) многократно удаляет <rhs> с начала и конца строки <str>, пока ни один из концов не будет содержать <rhs>.
SELECT trim('ababccaab', 'ab') str;
+------+
| str |
+------+
| cca |
+------+
  1. Поддержка символов UTF-8
SELECT trim('   ṭṛì ḍḍumai   ');
+------------------------------+
| trim(' ṭṛì ḍḍumai ') |
+------------------------------+
| ṭṛì ḍḍumai |
+------------------------------+
  1. Если совпадающего префикса или суффикса нет, возвращается исходная строка
SELECT trim('Hello World', 'xyz');
+--------------------------------+
| trim('Hello World', 'xyz') |
+--------------------------------+
| Hello World |
+--------------------------------+
  1. Обработка значений NULL
SELECT trim(NULL), trim('Hello', NULL);
+------------+-----------------------+
| trim(NULL) | trim('Hello', NULL) |
+------------+-----------------------+
| NULL | NULL |
+------------+-----------------------+
  1. Обработка пустой строки
SELECT trim(''), trim('abc', '');
+----------+------------------+
| trim('') | trim('abc', '') |
+----------+------------------+
| | abc |
+----------+------------------+
  1. Удаление повторяющегося шаблона с обоих концов
SELECT trim('abcabcabc', 'abc');
+------------------------------+
| trim('abcabcabc', 'abc') |
+------------------------------+
| |
+------------------------------+
  1. Асимметричное удаление
SELECT trim('abcHelloabc', 'abc');
+--------------------------------+
| trim('abcHelloabc', 'abc') |
+--------------------------------+
| Hello |
+--------------------------------+
  1. Строка UTF-8 с шаблоном удаления в UTF-8: удаляется только начальная подстрока ṭṛì, поскольку конец строки не совпадает с шаблоном (+++), поэтому trim прекращает удаление с этого конца.
SELECT trim('ṭṛì ḍḍumai+++', 'ṭṛì');
+--------------------------------------------+
| trim('ṭṛì ḍḍumai+++', 'ṭṛì') |
+--------------------------------------------+
| ḍḍumai+++ |
+--------------------------------------------+

Ключевые слова​

TRIM