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