Funkcija MySQL INSTR().

Funkcija Mysql Instr



V tej vadnici se bomo naučili uporabljati funkcijo MySQL INSTR() za določitev položaja prvega pojava danega podniza.

Funkcija MySQL INSTR().

S funkcijo instr() lahko zagotovimo niz in podniz. Funkcija bo ugotovila, ali podniz obstaja v izvornem nizu. Če podniz obstaja, bo funkcija vrnila položaj prve pojavitve podniza v izvornem nizu.

Če podniz ne obstaja v izvornem nizu, bo funkcija vrnila 0.







Naslednje prikazuje sintakso funkcije instr():



INSTR(src_niz, podniz);

Funkcija sprejme dva glavna parametra:



  1. Src_string se nanaša na izvorni niz, v katerem želite iskati.
  2. Sub_string definira podniz, ki ga iščete.

Dobro je upoštevati, da funkcija instr() ne razlikuje med velikimi in malimi črkami. Zato bo funkcija le poiskala ujemajoče se vzorce brez upoštevanja velikih črk,





Če želite izvesti iskanje z upoštevanjem velikih in malih črk, lahko uporabite druga orodja, kot je binarni operator.

Primer uporabe funkcije

Naslednji primeri prikazujejo, kako lahko uporabimo funkcijo instr() za iskanje določenega podniza.



SELECT INSTR('MySQL je odličen motor baze podatkov', 'baza podatkov') kot pos;

Zgornji primer bo vrnil začetni položaj niza »baza podatkov« iz izvornega niza. V tem primeru je položaj niza baze podatkov 21, kot je prikazano v spodnjem izhodu:

pos|

---+

21|

Primer 2

Za pretvorbo niza v male ali velike črke lahko uporabimo funkcije lower() ali upper. To nam lahko pomaga premagati naravo funkcije, ki razlikuje velike in male črke.

primer:

SELECT INSTR(lower('MySQL je izjemen pogon baze podatkov'), lower('DATABASE')) as pos;

rezultat:

pos|

---+

21|

To bo vrnilo podobno vrednost kot prvi primer, saj sta izvorni niz in podniz pred operacijo iskanja pretvorjena v male črke.

Primer 3

Funkcijo instr() lahko uporabimo tudi s stolpcem tabele, kot je prikazano v spodnji sintaksi.

IZBERI INSTR(ime_stolpca, 'podniz')

FROM ime_tabele;

primer:

USTVARI bloge TABLE (

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

naslov VARCHAR(255) NI NULL,

vsebina TEXT NOT NULL,

date_posted DATE NOT NULL,

avtor VARCHAR(255) NOT NULL

);

Vnesite nekaj podatkov:

VSTAVI V bloge (naslov, vsebina, datum objave, avtor)

VREDNOTE ('Moja prva objava v spletnem dnevniku', 'To je vsebina moje prve objave v spletnem dnevniku.', '2022-12-09', 'Jane Doe');

VSTAVI V bloge (naslov, vsebina, datum objave, avtor)

VREDNOTE ('Moja druga objava v spletnem dnevniku', 'To je vsebina moje druge objave v spletnem dnevniku.', '10. 2022', 'Jane Doe');

VSTAVI V bloge (naslov, vsebina, datum objave, avtor)

VREDNOTE ('Moja tretja objava v spletnem dnevniku', 'To je vsebina moje tretje objave v spletnem dnevniku.', '11.12.2022', 'Jane Doe');

izberite * iz blogov;

Končna tabela:

S funkcijo instr() lahko dobimo položaj podniza 'blog' v stolpcu vsebine, kot je prikazano:

izberite naslov, instr(vsebina, 'objava') iz spletnih dnevnikov;

rezultat:

Zaključek

V tej vadnici ste se naučili, kako uporabiti funkcijo INSTR() v MySQL za iskanje položaja podniza v nizu. Funkcija razlikuje med velikimi in malimi črkami. Zato boste morda morali uporabiti funkcije, kot sta spodnja in zgornja, da pretvorite iskalne nize v želene male in male črke.