Поиск по сайту:

Как реализовать функцию SQL INSTR()?


Эй, ребята! В этой статье мы подробно рассмотрим функцию SQL INSTR().

Работа SQL INSTR()

SQL, будучи языком запросов, содержит различные встроенные функции для работы со строковыми значениями данных базы данных.

Одной из таких интересных функций является функция SQL INSTR().

Функция SQL INSTR() определяет первое появление строки или символа в другой строке. Таким образом, функция INSTR() свидетельствует о положении начального/первого появления любой строки/подстроки в другом значении строковых данных.

Разобравшись с работой функции SQL INSTR(), давайте перейдем к ее структуре и синтаксису.

Понимание синтаксиса INSTR()

Функция SQL INSTR() принимает два параметра:

  • Строка/символ для поиска в другом значении данных String.
  • Строка, в которой будет искаться вхождение символа/строки.

INSTR(string1, string2);

Функция INSTR() возвращает целочисленное значение, указывающее индекс первого вхождения искомой строки.

Теперь давайте разберемся с реализацией функции INSTR() в следующем разделе на различных примерах.

Реализация SQL INSTR() на примерах

В приведенном ниже примере функция SQL INSTR() ищет первое вхождение символа «P» в значении данных входной строки.

SELECT INSTR('JYPython', 'P');

Выход:

3

Помимо поиска первого вхождения символов в строку, функция INSTR() работает и со строковыми значениями.

Здесь мы искали первое вхождение строки «JournalDev» в значении входных данных и возвращали значение ее позиции.

SELECT INSTR('Python@JournalDev', 'JournalDev');

Выход:

8

В этом примере мы создали таблицу с разными столбцами. Мы попытались отобразить индекс первого появления символа «а» каждого значения данных, присутствующего в столбце «город» таблицы «Информация».

create table Info(id integer, Cost integer, city varchar(200));
insert into Info(id, Cost,city) values(1, 100,"Puna");
insert into Info(id, Cost,city) values(2, 50, "Satara");
insert into Info(id, Cost,city) values(3, 65,"Puna");
insert into Info(id, Cost,city) values(4, 97,"Mumbai");
insert into Info(id, Cost,city) values(5, 12,"USA");
SELECT city, INSTR(city, "a") as 1st_Occurrence_of_a
FROM Info;

Выход:

city	1st_Occurrence_of_a
Puna	4
Satara	2
Puna	4
Mumbai	5
USA	3

Если строка/символ, который нужно найти для первого вхождения, не содержится или не присутствует в строке, функция INSTR() возвращает ноль (0).

SELECT INSTR('Python', 'xx');

Выход:

0

Заключение

На этом мы подошли к концу этой темы. Пожалуйста, не стесняйтесь комментировать ниже, если у вас возникнут какие-либо сомнения.

Дополнительные сообщения, связанные с SQL, см. на странице SQL JournalDev.

Рекомендации

  • Функция SQL INSTR() – документация