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