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