MySQL INSTR() -funktio

Mysql Instr Funktio



Tässä opetusohjelmassa opimme käyttämään MySQL INSTR()-funktiota määrittämään tietyn alimerkkijonon ensimmäisen esiintymän sijainti.

MySQL INSTR() -funktio

Käyttämällä instr()-funktiota voimme tarjota merkkijonon ja alimerkkijonon. Funktio määrittää, onko alimerkkijono olemassa lähdemerkkijonossa. Jos alimerkkijono on olemassa, funktio palauttaa alimerkkijonon ensimmäisen esiintymän sijainnin lähdemerkkijonossa.

Jos alimerkkijonoa ei ole lähdemerkkijonossa, funktio palauttaa arvon 0.







Seuraavassa esitetään instr()-funktion syntaksi:



INSTR(merkkijono, alimerkkijono);

Funktio hyväksyy kaksi pääparametria:



  1. src_string viittaa lähdemerkkijonoon, josta haluat etsiä.
  2. Alimerkkijono määrittää alimerkkijonon, jota etsit.

On hyvä pitää mielessä, että instr()-funktio ei välitä kirjainkoosta. Näin ollen toiminto löytää vain vastaavat kuviot ottamatta huomioon kirjainkokoa,





Voit suorittaa haun, jossa kirjainkoolla on merkitystä, käyttämällä muita työkaluja, kuten binäärioperaattoria.

Esimerkki funktion käytöstä

Seuraavat esimerkit osoittavat, kuinka voimme käyttää instr()-funktiota tietyn alimerkkijonon etsimiseen.



SELECT INSTR('MySQL on mahtava tietokantamoottori', 'tietokanta') as pos;

Yllä oleva esimerkki palauttaa merkkijonon 'tietokanta' aloituspaikan lähdemerkkijonosta. Tässä tapauksessa tietokantamerkkijonon sijainti on 21 alla olevan tulosteen mukaisesti:

pos|

---+

21|

Esimerkki 2

Voimme käyttää pienempiä () tai ylempiä funktioita muuntaaksesi merkkijonon pieniksi tai isoiksi kirjaimille. Tämä voi auttaa meitä pääsemään eroon funktion kirjainkoon erottelusta.

Esimerkki:

SELECT INSTR(lower('MySQL on mahtava tietokantamoottori'), low('DATABASE')) as pos;

Tulos:

pos|

---+

21|

Tämä palauttaa samanlaisen arvon kuin ensimmäinen esimerkki, koska lähdemerkkijono ja alimerkkijono muunnetaan pieniksi ennen hakutoimintoa.

Esimerkki 3

Voimme myös käyttää instr()-funktiota taulukon sarakkeen kanssa alla olevan syntaksin mukaisesti.

SELECT INSTR(sarakkeen_nimi, 'alimerkkijono')

FROM taulukon_nimi;

Esimerkki:

LUO TABLE-blogeja (

ID INT EI NULL AUTO_INCREMENT PRIMARY KEY,

otsikko VARCHAR(255) NOT NULL,

sisältö TEXT NOT NULL,

date_posted DATE NOT NULL,

kirjoittaja VARCHAR(255) NOT NULL

);

Lisää tietoja:

INSERT INTO blogeihin (nimi, sisältö, päivämäärä_julkaisu, kirjoittaja)

ARVOT ('Ensimmäinen blogikirjoitukseni', 'Tämä on ensimmäisen blogikirjoitukseni sisältö', '2022-12-09', 'Jane Doe');

INSERT INTO blogeihin (nimi, sisältö, päivämäärä_julkaisu, kirjoittaja)

ARVOT ('Toinen blogikirjoitukseni', 'Tämä on toisen blogikirjoitukseni sisältö', '2022-12-10', 'Jane Doe');

INSERT INTO blogeihin (nimi, sisältö, päivämäärä_julkaisu, kirjoittaja)

ARVOT ('Kolmas blogikirjoitukseni', 'Tämä on kolmannen blogikirjoitukseni sisältö', '2022-12-11', 'Jane Doe');

valitse * blogeista;

Tuloksena oleva taulukko:

Voimme käyttää instr()-funktiota saadakseen alimerkkijonon 'blog' sijainnin sisältösarakkeessa kuvan mukaisesti:

valitse otsikko, instr(sisältö, 'post') blogeista;

Tulos:

Johtopäätös

Tässä opetusohjelmassa opit käyttämään INSTR()-funktiota MySQL:ssä alimerkkijonon sijainnin löytämiseen merkkijonossa. Funktiossa kirjainkoolla on merkitystä. Tästä syystä saatat joutua käyttämään toimintoja, kuten alempi ja ylempi muuntaaksesi hakumerkkijonot haluamiisi tapauksiin.