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

RTRIM

Описание​

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

Синтаксис​

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

Параметры​

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

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

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

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

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

Примеры​

  1. Удаление завершающих пробелов
SELECT rtrim('ab d   ') str;
+------+
| str |
+------+
| ab d |
+------+
  1. Удаление указанной строки с конца
SELECT rtrim('ababccaab', 'ab') str;
+---------+
| str |
+---------+
| ababcca |
+---------+
  1. По умолчанию удаляются только пробелы ASCII: RTRIM не удаляет символы табуляции (\t) или перевода строки (\n) без второго аргумента. Сравните LENGTH до и после: удаляется только один завершающий пробел ASCII; \t\n сохраняются.
SELECT LENGTH('hello world  \t\n '), LENGTH(RTRIM('hello world  \t\n '));
+------------------------------+-------------------------------------+
| LENGTH('hello world \t\n ') | LENGTH(RTRIM('hello world \t\n ')) |
+------------------------------+-------------------------------------+
| 16 | 15 |
+------------------------------+-------------------------------------+
  1. Поддержка символов UTF-8
SELECT rtrim('ṭṛì ḍḍumai   ');
+---------------------------+
| rtrim('ṭṛì ḍḍumai ') |
+---------------------------+
| ṭṛì ḍḍumai |
+---------------------------+
  1. Если совпадающего суффикса нет, возвращается исходная строка
SELECT rtrim('Hello World', 'xyz');
+---------------------------------+
| rtrim('Hello World', 'xyz') |
+---------------------------------+
| Hello World |
+---------------------------------+
  1. Обработка значений NULL
SELECT rtrim(NULL), rtrim('Hello', NULL);
+-------------+------------------------+
| rtrim(NULL) | rtrim('Hello', NULL) |
+-------------+------------------------+
| NULL | NULL |
+-------------+------------------------+
  1. Обработка пустой строки
SELECT rtrim(''), rtrim('abc', '');
+-----------+-------------------+
| rtrim('') | rtrim('abc', '') |
+-----------+-------------------+
| | abc |
+-----------+-------------------+
  1. Удаление повторяющегося шаблона с конца строки
SELECT rtrim('abcabcabc', 'abc');
+-------------------------------+
| rtrim('abcabcabc', 'abc') |
+-------------------------------+
| |
+-------------------------------+
  1. Несколько вхождений: удаляется только совпадение в конце строки
SELECT rtrim('HelloHelloWorld', 'Hello');
+---------------------------------------+
| rtrim('HelloHelloWorld', 'Hello') |
+---------------------------------------+
| HelloHelloWorld |
+---------------------------------------+

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

RTRIM