Поиск подстроки
Синтаксис
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.