OVERLAY()
DSQL, PSQL
OVERLAY (string PLACING replacement FROM pos [FOR length])
Параметр | Описание |
---|---|
string |
Строка, в которой происходит замена. |
replacement |
Строка, которой заменяется. |
pos |
Позиция, с которой происходит замена. |
length |
Количество символов, которые будут удалены из исходной строки. |
VARCHAR
или BLOB
Функция OVERLAY
предназначена для замены части строки другой строкой.
По умолчанию число удаляемых из строки символов равняется длине заменяемой строки.Дополнительный четвёртый параметр позволяет пользователю задать своё число символов, которые будут удалены.
Особенности использования:
-
Функция полностью поддерживает тестовые
BLOB
с любым набором символов и любой длины; -
Если входная строка имеет тип
BLOB
, то и результат будет иметь типBLOB
. В противном случае тип результата будетVARCHAR(n)
, где n является суммой длин параметров string и replacement; -
Как и во всех строковых функциях SQL параметр pos является определяющим;
-
Если pos больше длины строки, то replacement помещается сразу после окончания строки;
-
Если число символов от pos до конца строки меньше, чем длина replacement (или, чем параметр length, если он задан), то строка усекается до значения pos и replacement помещается после него;
-
При нулевом параметре length (FOR 0) replacement просто вставляется в строку, начиная с позиции pos;
-
Если любой из параметров имеет значение
NULL
, то и результат будетNULL
; -
Если параметры pos и length не являются целым числом, то используется банковское округление (до чётного): 0.5 становится 0, 1.5 становится 2, 2.5 становится 2, 3.5 становится 4 и т.д.
Warning
|
При использовании |