Скалярные функции

  • Часть 1
  • | 2
  • | 3
  • | 4
  • | 5
  • | 6
  • | 7

FROM позиция [ FOR длина ] ), где   <исходная_строка>   и   <строка_для_замены>   могут   представлять   собой строковое выражение.

Если длина не указана, то по умолчанию принимается длина в символах строки для замены (CHAR_LENGTH (<строка_для_замены>)).

Функция OVERLAY эквивалентна следующему выражению с использованием функции SUBSTRING:

SUBSTRING (<исходная_строка> FROM 1 FOR (позиция - 1))

|| <строка_для_замены>

|| SUBSTRING(<исходная_строка> FROM (позиция + длина)).

Функция     REPLACE заменяет     все     вхождения     <подстроки>     в <строковое_выражение> на указанную <строку_для_замены>. Имеет следующий формат: REPLACE(<строковое_выражение>, <подстрока>, <строка_для_замены>). Например,  для  замены  в  названии  неисправностей  слова  "плиты"  на словосочетание "газовой плиты" можно выполнить следующий запрос: SELECT REPLACE (FailureNM, 'плиты', 'газовой плиты') FROM Disrepair;. Результат выполнения запроса представлен на рис. 3.22.

REPLACE

Засорилась водогрейная колонка

Не горит АГВ

Течет из водогрейной колонки

Неисправна печная горелка

Неисправен газовый счетчик

Плохое поступление газа на горелку газовой плиты

Туго поворачивается пробка крана газовой плиты

При закрытии краника горелка газовой плиты не гаснет

Неизвестна

Рис. 3.22. Результат работы функции REPLACE

К скалярным функциям относится также функция TRIM. Эта функция возвращает строку аргумента, удаляя символы (по умолчанию - пробелы) из начала и/или конца строки. Для вызова функции используется следующий синтаксис: TRIM( [ [LEADING | TRAILING| BOTH ] [ <удаляемая_подстрока> ] FROM ] <строковое_выражение>).

предыдущаяследующая