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

Функция

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

Спецификация
 

Варианты:

  1. < синтаксис >::=
  2. < синтаксис >::=
    TRIM ([[LEADING | TRAILING | BOTH] [подстрока] FROM] строка)
Общие правила
  1. Опция LEADING заставляет удалять крайние левые символы < подстроки > из < строки >.

  2. Опция TRAILING заставляет удалять крайние правые символы < подстроки > из < строки >.

  3. Опция BOTH заставляет удалять одновременно крайние левые и правые символы < подстроки > из < строки >.

  4. Если опции LEADING, TRAILING и BOTH не заданы, удаляются одновременно крайние левые и правые символы < подстроки > из < строки >.

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

  6. В первом варианте функции из < строки > удаляются справа (если найдены) и слева (если найдены) символы, указанные в < подстроке >.

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

    select trim(? (char(20)), ? (char(10)));
    ##Тестовая строка ######
    ##
    |Тестовая строка     |
    
    select TRIM (TRAILING ? (char(10))  FROM ? (char(20)));
    ##
    ##Тестовая строка ######
    |##Тестовая строка   |

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

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

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

select trim('*** Пользователи БД ***','*');
|Пользователи БД |

сравните

select rtrim(ltrim('*** Пользователи БД***','*'),'*') ;
|Пользователи БД |
select trim(trailing '*' from '*** Пользователи БД***');
|*** Пользователи БД |
select trim(leading substring('abcd' from 1 for 1) from substring ('aabcda' from 2 for 5));
|bcda   |