Левостороннее удаление символов
Функция
Удаление заданных символов из строки слева.
Спецификация
Общие правила
-
Из
< строки >
удаляются слева символы, указанные в< подстроке >
. -
Если
< подстрока >
не задана, по умолчанию удаляются пробелы. -
Если
< строка >
имеет тип данных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 |