Удаление заданных символов из строки справа.
Из <строки>
удаляются справа символы, указанные в <подстроке>
.
Если <подстрока>
не указана, по умолчанию удаляются пробелы.
Если <строка>
имеет тип данных CHAR(1), VARCHAR(1), и удаляется содержащийся в ней символ, то <строка>
не становится пустой: удаляемый символ заменяется пробелом, и длина строки остается равной 1. Таким образом, удаление пробела из поля типа CHAR(1), VARCHAR(1) c помощью функции RTRIM невозможно.
Все аргументы функции могут быть заданы <SQL-параметром>
, который должен содержать
спецификацию типа данных параметра.
select rtrim(? (char(20)), ? (char(10))); Тестовая строка 24 24 |Тестовая строка |
<Строка>
с удаленными справа указанными символами.
Тип возвращаемого значения совпадает с типом аргумента.
Если аргумент NULL, результат NULL.
create or replace table tab1 (c1 char(10), c2 char(10), c3 char(10), c4 char); insert into tab1 values (' 123 ', '?123???','456123123', '%'); select c1 || ' *',length( c1 || ' *'), rtrim(c1) || '*', length( rtrim(c1) || '*') from tab1 union select c2 || '*' , length( c2 || '*'), rtrim(c2, '?' ) || '*', length(rtrim(c2 , '?') || '*') from tab1 union select c3 || '*', length( c3 || '*'), rtrim(c3, '123') || '*', length(rtrim(c3, '123') || '*') from tab1 union select c4 || '*', length(c4 || '*'), rtrim(c4, '%') || '*', length(rtrim(c4, '%') || '*') from tab1; | 123 * | 9 | *123 | 6 | | ?123???* | 8 | ?123* | 5 | | %* | 2 | * | 1 | | 456123123* | 10 | 456* | 4 |