PLSQL | Функция INSTR
Функция PLSQL INSTR используется для возврата местоположения подстроки в строке.
Функция PLSQL INSTR ищет в строке подстроку, указанную пользователем, используя символы, и возвращает позицию в строке, которая является первым символом указанного вхождения подстроки.
Функция PLSQL INSTR принимает четыре параметра: строка, подстрока, начальная позиция и n-е появление.
Строка и подстрока могут быть любого типа данных, например CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB или NCLOB.
Синтаксис:
INSTR (строка, подстрока [, начальная_позиция [, nth_appearance]])
Используемые параметры
- нить -
Он используется для указания строки, в которой нужно искать подстроку. Это может быть любой из типов данных CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB или NCLOB. - подстрока -
Он используется для указания подстроки, в которой необходимо выполнить поиск. Это может быть любой из типов данных CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB или NCLOB. - start_position -
Это необязательный параметр, который используется для указания позиции в строке, с которой будет начинаться поиск. Значение по умолчанию - 1. Функция INSTR отсчитывает до start_position количество символов от конца строки, а затем выполняет поиск в направлении начала строки, если вставленное значение отрицательное. - n-е появление -
Это необязательный параметр, который используется для указания n-го появления подстроки. Значение по умолчанию - 1.
Поддерживаемые версии Oracle / PLSQL:
- Оракул 12c
- Oracle 11g
- Oracle 10g
- Oracle 9i
- Oracle 8i
Пример-1: Использование символа для поиска вперед, чтобы найти позицию подстроки.
ЗАЯВИТЬ Test_String string (20): = 'Geeksforgeeks'; НАЧИНАТЬ dbms_output.put_line (INSTR (Test_String, 'e')); КОНЕЦ;
Выход:
2
Пример-2: Использование позиции символа для поиска вперед, чтобы найти позицию подстроки.
ЗАЯВИТЬ Test_String string (20): = 'Geeksforgeeks'; НАЧИНАТЬ dbms_output.put_line (INSTR (Test_String, 'e', 1, 1)); КОНЕЦ;
Выход:
2
Пример-3: Использование позиции символа для поиска вперед, чтобы найти позицию подстроки в 3-й позиции.
ЗАЯВИТЬ Test_String string (20): = 'Geeksforgeeks'; НАЧИНАТЬ dbms_output.put_line (INSTR (Test_String, 'e', 1, 3)); КОНЕЦ;
Выход:
10
Пример-4: Использование позиции символа для поиска в обратном направлении, чтобы найти позицию подстроки.
ЗАЯВИТЬ Test_String string (20): = 'Geeksforgeeks'; НАЧИНАТЬ dbms_output.put_line (INSTR (Test_String, 'e', -2, 1)); КОНЕЦ;
Выход:
11
Пример 5: Использование трехбайтового набора символов для поиска позиции подстроки.
ЗАЯВИТЬ Test_String string (20): = 'Geeksforgeeks'; НАЧИНАТЬ dbms_output.put_line (INSTR (Test_String, 'for', 1, 1)); КОНЕЦ;
Выход:
6