Левостороннее удаление символов (LTRIM)

Функция

Удаление заданных символов из строки слева.

Спецификация
 
<​синтаксис​>::=
Общие правила
  1. Из <​строки​> удаляются слева символы, указанные в <​подстроке​>.

  2. Если <​подстрока​> не задана, по умолчанию удаляются пробелы.

  3. Если <​строка​> имеет тип данных CHAR(1), VARCHAR(1) и удаляется содержащийся в ней символ, то <​строка​> становится пустой: то есть длина строки становится равной 0.

  4. Все аргументы функции могут быть заданы <​SQL-параметром​>, который должен содержать спецификацию типа данных параметра.

    select ltrim(? (char(20)), ? (char(10)));
    это тестовая строка
    это
    
    | тестовая строка    |

Возвращаемое значение
  1. <​Строка​> с удаленными слева указанными символами.

  2. Тип возвращаемого значения совпадает с типом аргумента.

  3. Если аргумент NULL, результат NULL.

Пример
create or replace table tab1
  (c1 char(10), c2 char(10), c3 char(10), c4 char);
insert into tab1 values ('   123', '??123','123123456', '%');
select '*' || c1,length('*' || c1), '*' || ltrim(c1),
  length('*' || ltrim(c1)) from tab1
  union
select '*' || c2, length( '*' || c2), '*' || trim(c2, '?'),
  length('*' || trim(c2, '?')) from tab1
  union
select '*' || c3,length( '*' || c3), '*' || ltrim(c3, '123'),
  length('*' || ltrim(c3, '123')) from tab1
  union
select '*' || c4, length( '*' || c4), '*' || ltrim(c4, '%'),
  length('*' || ltrim(c4, '%')) from tab1
  union
select '*' || c4, length( '*' || c4), '*' || ltrim(c4, ''),
  length('*' || ltrim(c4,'')) from tab1;

|*   123    |7  |*123 |4 |
|*??123     |6  |*123 |4 |
|*123123456 |10 |*456 |4 |
|*%         |2  |*    |1 |
|*%         |2  |*%   |2 |