FirebirdSQL logo

Примеры OVERLAY

Example 1. Использование функции OVERLAY
OVERLAY ('Goodbye' PLACING 'Hello' FROM 2) -- Результат: 'Ghelloe'
OVERLAY ('Goodbye' PLACING 'Hello' FROM 5) -- Результат: 'GoodHello'
OVERLAY ('Goodbye' PLACING 'Hello' FROM 8) -- Результат: 'GoodbyeHello'
OVERLAY ('Goodbye' PLACING 'Hello' FROM 20) -- Результат: 'GoodbyeHello'
OVERLAY ('Goodbye' PLACING 'Hello' FROM 2 FOR 0) -– Результат: 'GHellooodbye'
OVERLAY ('Goodbye' PLACING 'Hello' FROM 2 FOR 3) -- Результат: 'GHellobye'
OVERLAY ('Goodbye' PLACING 'Hello' FROM 2 FOR 6) -- Результат: 'GHello'
OVERLAY ('Goodbye' PLACING 'Hello' FROM 2 FOR 9) -- Результат: 'Ghello'
OVERLAY ('Goodbye' PLACING '' FROM 4) -- Результат: 'Goodbye'
OVERLAY ('Goodbye' PLACING '' FROM 4 FOR 3) -- Результат: 'Gooe'
OVERLAY ('Goodbye' PLACING '' FROM 4 FOR 20) -- Результат: 'Goo'
OVERLAY ('' PLACING 'Hello' FROM 4) -- Результат: 'Hello'
OVERLAY ('' PLACING 'Hello' FROM 4 FOR 0) -- Результат: 'Hello'
OVERLAY ('' PLACING 'Hello' FROM 4 FOR 20) -- Результат: 'Hello'

POSITION()

Доступно в

DSQL, PSQL

Синтаксис
  POSITION (substr IN string)
| POSITION (substr, string [, startpos])
Table 1. Параметры функции POSITION
Параметр Описание

substr

Подстрока, позиция которой ищется.

string

Строка, в которой ищется позиция.

startpos

Позиция, с которой начинается поиск подстроки.

Тип возвращаемого результата:

INTEGER

Функция POSITION возвращает позицию первого вхождения подстроки в строку.Отсчёт начинается с 1.Третий аргумент (опциональный) задаёт позицию в строке, с которой начинается поиск подстроки, тем самым игнорирую любые вхождения подстроки в строку до этой позиции.Если совпадение не найдено, функция возвращает 0.

Особенности использования:

  • Опциональный третий параметр поддерживается только вторым вариантом синтаксиса (синтаксис с запятой);

  • Пустую строку, функция считает подстрокой любой строки. Поэтому при входном параметре substr, равном '' (пустая строка), и при параметре string, отличном от NULL, результатом будет:

    • 1, если параметр startpos не задан;

    • startpos, если startpos не превышает длину параметра string;

    • 0, если startpos больше длины параметра string.