Левостороннее удаление символов
Функция
Удаление заданных символов из строки слева.
Спецификация
Общие правила
-
Из
< строки >удаляются слева символы, указанные в< подстроке >. -
Если
< подстрока >не задана, по умолчанию удаляются пробелы. -
Если
< строка >имеет тип данныхCHAR(1),VARCHAR(1)и удаляется содержащийся в ней символ, то< строка >становится пустой: т.е. длина строки становится равной 0. -
Все аргументы функции могут быть заданы
< SQL-параметром >, который должен содержать спецификацию типа данных параметра.select ltrim(? (char(20)), ? (char(10))); это тестовая строка это | тестовая строка |
Возвращаемое значение
-
< Строка >с удаленными слева указанными символами. -
Тип возвращаемого значения совпадает с типом аргумента.
-
Если аргумент
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 |