Функция MySQL INSTR().

Funkcia Mysql Instr



В този урок ще научим как да използваме функцията MySQL INSTR(), за да определим позицията на първото появяване на даден подниз.

Функция MySQL INSTR().

С помощта на функцията instr() можем да предоставим низ и подниз. Функцията ще определи дали поднизът съществува в изходния низ. Ако поднизът съществува, функцията ще върне позицията на първото срещане на подниза в изходния низ.

Ако поднизът не съществува в изходния низ, функцията ще върне 0.







Следното демонстрира синтаксиса на функцията instr():



INSTR(src_низ, под_низ);

Функцията приема два основни параметъра:



  1. src_string се отнася до изходния низ, в който искате да търсите.
  2. Sub_string дефинира подниза, който търсите.

Добре е да имате предвид, че функцията instr() не е чувствителна към главни и малки букви. Следователно функцията ще намери само съвпадащи шаблони, без да отчита главните букви на знаците,





За да извършите търсене, чувствително към главни и малки букви, можете да използвате други инструменти, като например двоичния оператор.

Примерно използване на функция

Следните примери демонстрират как можем да използваме функцията instr() за търсене на конкретен подниз.



SELECT INSTR('MySQL е страхотна база данни', 'база данни') като pos;

Примерът по-горе ще върне началната позиция на низа „база данни“ от изходния низ. В този случай позицията на низа на базата данни е 21, както е показано в резултата по-долу:

поз|

---+

21|

Пример 2

Можем да използваме функциите lower() или upper, за да конвертираме низ в малки или главни букви. Това може да ни помогне да преодолеем естеството на функцията, чувствително към малки и главни букви.

Пример:

SELECT INSTR(lower('MySQL е страхотна машина за бази данни'), lower('DATABASE')) as pos;

Резултат:

поз|

---+

21|

Това ще върне подобна стойност като първия пример, тъй като изходният низ и подниз се преобразуват в малки букви преди операцията за търсене.

Пример 3

Можем също да използваме функцията instr() с колона на таблица, както е показано в синтаксиса по-долу.

SELECT INSTR(име_на_колона, 'подниз')

ОТ име_на_таблица;

Пример:

СЪЗДАВАНЕ на блогове с ТАБЛИЦА (

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

заглавие VARCHAR(255) NOT NULL,

съдържание TEXT NOT NULL,

date_posted DATE NOT NULL,

автор VARCHAR(255) NOT NULL

);

Въведете някои данни:

ВМЪКНЕТЕ В блогове (заглавие, съдържание, дата на публикуване, автор)

ЦЕННОСТИ („Моята първа публикация в блог“, „Това е съдържанието на първата ми публикация в блог.“, „2022-12-09“, „Джейн Доу“);

ВМЪКНЕТЕ В блогове (заглавие, съдържание, дата на публикуване, автор)

ЦЕННОСТИ („Втората ми публикация в блога“, „Това е съдържанието на втората ми публикация в блога.“, „10.12.2022“, „Джейн Доу“);

ВМЪКНЕТЕ В блогове (заглавие, съдържание, дата на публикуване, автор)

ЦЕННОСТИ („Моята трета публикация в блога“, „Това е съдържанието на третата ми публикация в блога.“, „2022-12-11“, „Джейн Доу“);

изберете * от блогове;

Резултатна таблица:

Можем да използваме функцията instr(), за да получим позицията на подниза „blog“ в колоната със съдържание, както е показано:

изберете заглавие, instr(content, 'post') от блогове;

Резултат:

Заключение

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