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

TRIM_IN

Описание​

Функция TRIM_IN используется для удаления заданных символов в начале и конце строки. Если набор символов не указан, по умолчанию удаляются начальные и конечные пробелы. Если набор символов указан, с обоих концов строки удаляются все входящие в него символы (независимо от их порядка в наборе).

Главная особенность TRIM_IN заключается в том, что она удаляет любые сочетания символов из заданного набора, тогда как функция TRIM удаляет символы на основе точного совпадения строк.

Синтаксис​

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

Параметры​

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

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

Возвращает обработанную строку типа VARCHAR.

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

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

Примеры​

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

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

TRIM_IN, TRIM