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

LTRIM

Описание​

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

Синтаксис​

LTRIM(<str> [, <trim_chars>])

Параметры​

ПараметрОписание
<str>Исходная строка, из начала которой нужно удалить символы. Тип: VARCHAR
<trim_chars>Необязательный параметр, задающий набор удаляемых символов. Если не указан, по умолчанию удаляются пробельные символы. Тип: VARCHAR

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

Возвращает значение типа VARCHAR, представляющее собой строку после удаления указанных символов с левого края.

Правила удаления:

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

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

  • Если любой из параметров равен NULL, возвращается NULL
  • Если str является пустой строкой, возвращается пустая строка
  • Если trim_chars является пустой строкой, возвращается исходная строка
  • Если строка целиком состоит из символов, входящих в trim_chars, возвращается пустая строка

Примеры​

  1. Удаление пробелов слева
SELECT LTRIM('   ab d');
+-------------------+
| LTRIM(' ab d') |
+-------------------+
| ab d |
+-------------------+
  1. Удаление указанных символов
SELECT LTRIM('ababccaab', 'ab');
+----------------------------+
| LTRIM('ababccaab', 'ab') |
+----------------------------+
| ccaab |
+----------------------------+
  1. Обработка значений NULL
SELECT LTRIM(NULL), LTRIM('test', NULL);
+-------------+---------------------+
| LTRIM(NULL) | LTRIM('test', NULL) |
+-------------+---------------------+
| NULL | NULL |
+-------------+---------------------+
  1. Пустые входные значения
SELECT LTRIM(''), LTRIM('test', '');
+-----------+-------------------+
| LTRIM('') | LTRIM('test', '') |
+-----------+-------------------+
| | test |
+-----------+-------------------+
  1. Удаление префикса из нескольких символов
SELECT LTRIM('abcdefg', 'abc'), LTRIM('123456', '12');
+-------------------------+-----------------------+
| LTRIM('abcdefg', 'abc') | LTRIM('123456', '12') |
+-------------------------+-----------------------+
| defg | 3456 |
+-------------------------+-----------------------+
  1. Вся строка состоит из удаляемых символов
SELECT LTRIM('aaaaa', 'a'), LTRIM('   ', ' ');
+---------------------+-------------------+
| LTRIM('aaaaa', 'a') | LTRIM(' ', ' ') |
+---------------------+-------------------+
| | |
+---------------------+-------------------+
  1. Удаление подстроки UTF-8 (второй аргумент сопоставляется как буквальная подстрока, а не как набор символов)
SELECT LTRIM('ṭṛìṭṛì test', 'ṭṛì'), LTRIM('ḍḍuḍḍu hello', 'ḍu');
+--------------------------------------------+---------------------------------------+
| LTRIM('ṭṛìṭṛì test', 'ṭṛì') | LTRIM('ḍḍuḍḍu hello', 'ḍu') |
+--------------------------------------------+---------------------------------------+
| test | ḍḍuḍḍu hello |
+--------------------------------------------+---------------------------------------+
  1. Удаление числового префикса
SELECT LTRIM('000123', '0'), LTRIM('123abc123', '123');
+----------------------+---------------------------+
| LTRIM('000123', '0') | LTRIM('123abc123', '123') |
+----------------------+---------------------------+
| 123 | abc123 |
+----------------------+---------------------------+
  1. Удаление префикса из знаков пунктуации
SELECT LTRIM('---text---', '-'), LTRIM('@@hello@@', '@');
+--------------------------+-------------------------+
| LTRIM('---text---', '-') | LTRIM('@@hello@@', '@') |
+--------------------------+-------------------------+
| text--- | hello@@ |
+--------------------------+-------------------------+