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

Функция

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

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

Варианты:

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

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

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

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

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

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

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

    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   |