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 ] <строковое_выражение>).
предыдущаяследующая