Поиск подстроки
Синтаксис
instr(<строка>,<подстрока> [,<начало поиска> [,<номер вхождения>]])
<строка>
– выражение типа CHAR, VARCHAR;
<подстрока>
– выражение типа CHAR, VARCHAR;
<начало поиска>
– целое положительное число;
<номер вхождения>
– целое положительное число.
Описание
Функция выполняет поиск подстроки в строке, начиная с заданной позиции и с учетом указанного номера вхождения.
Типы данных <строки>
и <подстроки>
должны быть приводимыми.
Длина <подстроки>
не должна быть более 4000.
<Начало поиска>
задает начальную позицию для поиска <подстроки>
. Отсчет начинается с единицы. Если <начало поиска>
не задано, по умолчанию принимается значение 1.
<Номер вхождения>
задает порядковый номер искомой подстроки. Отсчет начинается с единицы. Если <номер вхождения>
не задан, по умолчанию принимается значение 1.
Возвращаемое значение
-
Номер позиции, в которой размещается найденная в
<строке>
заданная<подстрока>
, или 0, если<строка>
имеет нулевую длину, если<подстрока>
не найдена, или входные параметры имеют логически недопустимые значения. -
Информация о недопустимых значениях входных параметров не возвращается.
-
Тип возвращаемого значения – INT.
-
Если
<строка>
имеет NULL-значение, результат будет NULL.
Пример
create or replace procedure sp_test_instr() result int declare var line char(50); var repeat int; var i int; code line:="Реляционная СУБД - это СУБД, которая ..."; repeat:=2; i:=instr(line,"СУ"+"БД",1,repeat); // 24 return i; end; Результат: 24.