MySQL INSTR() Function

Mysql Instr Function



Sa tutorial na ito, matututunan natin kung paano gamitin ang MySQL INSTR() function upang matukoy ang posisyon ng unang paglitaw ng isang ibinigay na substring.

MySQL INSTR() Function

Gamit ang instr() function, maaari kaming magbigay ng string at substring. Tutukuyin ng function kung umiiral ang substring sa source string. Kung umiiral ang substring, ibabalik ng function ang posisyon ng unang paglitaw ng substring sa source string.

Kung ang substring ay wala sa source string, ang function ay magbabalik ng 0.







Ang sumusunod ay nagpapakita ng syntax ng instr() function:



INSTR(src_string, sub_string);

Tumatanggap ang function ng dalawang pangunahing mga parameter:



  1. Ang src_string ay tumutukoy sa pinagmulang string kung saan mo gustong hanapin.
  2. Tinutukoy ng sub_string ang substring na iyong hinahanap.

Magandang tandaan na ang instr() function ay case-insensitive. Kaya, ang pag-andar ay hahanapin lamang ang pagtutugma ng mga pattern na hindi isinasaalang-alang ang casing ng character,





Upang magsagawa ng case-sensitive na paghahanap, maaari kang gumamit ng iba pang mga tool, gaya ng binary operator.

Halimbawang Paggamit ng Function

Ang mga sumusunod na halimbawa ay nagpapakita kung paano namin magagamit ang instr() function upang maghanap ng isang partikular na substring.



SELECT INSTR('MySQL is an awesome database engine', 'database') as pos;

Ibabalik ng halimbawa sa itaas ang panimulang posisyon ng string na 'database' mula sa source string. Sa kasong ito, ang posisyon ng database string ay 21 tulad ng ipinapakita sa output sa ibaba:

pos|

---+

21|

Halimbawa 2

Maaari naming gamitin ang lower() o upper function para i-convert ang isang string sa lowercase o uppercase. Makakatulong ito sa amin na malampasan ang pagiging sensitibo sa kaso ng function.

Halimbawa:

SELECT INSTR(lower('MySQL is an awesome database engine'), lower('DATABASE')) as pos;

Resulta:

pos|

---+

21|

Magbabalik ito ng katulad na halaga bilang unang halimbawa, dahil ang source string at substring ay na-convert sa lowercase bago ang operasyon ng paghahanap.

Halimbawa 3

Magagamit din natin ang instr() function na may column ng talahanayan, tulad ng ipinapakita sa syntax sa ibaba.

SELECT INSTR(column_name, 'substring')

MULA sa table_name;

Halimbawa:

GUMAWA ng TABLE na mga blog (

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

pamagat VARCHAR(255) NOT NULL,

nilalaman TEXT NOT NULL,

date_posted DATE NOT NULL,

may-akda VARCHAR(255) NOT NULL

);

Magpasok ng ilang data:

INSERT INTO blogs (title, content, date_posted, author)

VALUES ('My First Blog Post', 'This is the content of my first blog post.', '2022-12-09', 'Jane Doe');

INSERT INTO blogs (title, content, date_posted, author)

VALUES ('My Second Blog Post', 'This is the content of my second blog post.', '2022-12-10', 'Jane Doe');

INSERT INTO blogs (title, content, date_posted, author)

VALUES ('My Third Blog Post', 'This is the content of my third blog post.', '2022-12-11', 'Jane Doe');

piliin ang * mula sa mga blog;

Nagresultang talahanayan:

Maaari naming gamitin ang instr() function upang makuha ang posisyon ng substring na 'blog' sa column ng nilalaman tulad ng ipinapakita:

piliin ang pamagat, instr(content, 'post') mula sa mga blog;

Resulta:

Konklusyon

Sa tutorial na ito, natutunan mo kung paano gamitin ang INSTR() function sa MySQL upang mahanap ang posisyon ng isang substring sa loob ng isang string. Ang function ay case-sensitive. Samakatuwid, maaaring kailanganin mong gumamit ng mga function tulad ng lower at upper para i-convert ang mga string ng paghahanap sa iyong gustong mga case.