Oracle INSTR - полное руководство по использованию функции INSTR в Oracle
Функция INSTR в Oracle используется для поиска подстроки в строке и возвращает позицию первого вхождения. Синтаксис функции INSTR выглядит следующим образом:
INSTR(строка_исходная, строка_найти [, начальная_позиция[, вхождение]])
- строка_исходная: исходная строка, в которой осуществляется поиск.
- строка_найти: подстрока, которую необходимо найти.
- начальная_позиция (необязательно): начальная позиция поиска. По умолчанию равна 1.
- вхождение (необязательно): номер вхождения, которое должно быть найдено. По умолчанию 1.
Пример использования функции INSTR:
SELECT INSTR('Hello, world!', 'world') as position FROM dual;
Результат выполнения будет следующим:
| POSITION |
|----------|
| 8 |
В данном случае функция вернет позицию первого вхождения слова "world" в строке "Hello, world!".
Также, функция INSTR может быть использована для выполнения более сложных операций. Например, для поиска вхождений нескольких подстрок одновременно, можно использовать следующее выражение:
SELECT INSTR('Apples, oranges and grapes', 'oranges') as position_1,
INSTR('Apples, oranges and grapes', 'grapes') as position_2
FROM dual;
Результат выполнения будет следующим:
| POSITION_1 | POSITION_2 |
|------------|------------|
| 8 | 20 |
В данном случае функция вернет позиции первых вхождений слов "oranges" и "grapes" в строке "Apples, oranges and grapes".
Также, функция INSTR может быть использована для замены подстроки в строке. Например, следующее выражение позволит заменить все вхождения слова "apple" на слово "orange" в строке:
SELECT REPLACE('I have an apple, an apple, and an apple', 'apple', 'orange') as replaced_string
FROM dual;
Результат выполнения будет следующим:
| REPLACED_STRING |
|----------------------------------|
| I have an orange, an orange, and an orange |
В данном случае функция INSTR используется внутри функции REPLACE для поиска подстроки "apple".