PLSQL | Функция INSTRB

Опубликовано: 30 Ноября, 2021

Функция PLSQL INSTRB используется для возврата местоположения подстроки в строке с использованием байтов вместо символов. Функция PLSQL INSTRB ищет в строке подстроку, указанную пользователем, используя символы, и возвращает позицию в строке, которая является первым символом указанного вхождения подстроки.

Функция PLSQL INSTRB принимает четыре параметра: строка, подстрока, начальная позиция и n-е появление. Строка и подстрока могут быть любого типа данных, например CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB или NCLOB.

Синтаксис:

 INSTRB (строка, подстрока [, начальная_позиция [, nth_ Appearance]])

Используемые параметры:

  • строка - используется для указания строки, в которой нужно искать подстроку. Это может быть любой из типов данных CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB или NCLOB.
  • substring - используется для указания подстроки, в которой необходимо выполнить поиск. Это может быть любой из типов данных CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB или NCLOB.
  • start_position - это необязательный параметр, который используется для указания позиции в строке, с которой будет начинаться поиск. Значение по умолчанию - 1. Функция INSTR отсчитывает до start_position количество символов от конца строки, а затем выполняет поиск в направлении начала строки, если вставленное значение отрицательное.
  • n-е появление - это необязательный параметр, который используется для указания n-го появления подстроки. Значение по умолчанию - 1.

Поддерживаемые версии Oracle / PLSQL:

  1. Оракул 12c
  2. Oracle 11g
  3. Oracle 10g
  4. Oracle 9i
  5. Oracle 8i

Пример-1: Использование символа для поиска вперед, чтобы найти позицию подстроки.

 ЗАЯВИТЬ 
   Test_String string (20): = 'Geeksforgeeks';
   
   
НАЧИНАТЬ 
   dbms_output.put_line (INSTRB (Test_String, 'e')); 
   
КОНЕЦ;

Выход:

 2



Пример-2: Использование позиции символа для поиска вперед, чтобы найти позицию подстроки.

 ЗАЯВИТЬ 
   Test_String string (20): = 'Geeksforgeeks';
      
НАЧИНАТЬ 
   dbms_output.put_line (INSTRB (Test_String, 'e', 1, 1)); 
   
КОНЕЦ;

Выход:

 2



Пример-3: Использование позиции символа для поиска вперед, чтобы найти позицию подстроки в 3-й позиции.

 ЗАЯВИТЬ 
   Test_String string (20): = 'Geeksforgeeks';
   
НАЧИНАТЬ 
   dbms_output.put_line (INSTRB (Test_String, 'e', 1, 3)); 
   
КОНЕЦ;

Выход:

 10



Пример-4: Использование позиции символа для поиска в обратном направлении, чтобы найти позицию подстроки.

 ЗАЯВИТЬ 
   Test_String string (20): = 'Geeksforgeeks';
   
НАЧИНАТЬ 
   dbms_output.put_line (INSTRB (Test_String, 'e', -2, 1)); 
   
КОНЕЦ;

Выход:

 11



Пример 5: Использование трехбайтового набора символов для поиска позиции подстроки.

 ЗАЯВИТЬ 
   Test_String string (20): = 'Geeksforgeeks';
   
НАЧИНАТЬ 
   dbms_output.put_line (INSTRB (Test_String, 'for', 1, 1)); 
   
КОНЕЦ;

Выход:

 6
SQL