MySQL INSTR() Functie

Mysql Instr Functie



In deze zelfstudie leren we hoe we de functie MySQL INSTR() kunnen gebruiken om de positie te bepalen van de eerste keer dat een bepaalde subtekenreeks voorkomt.

MySQL INSTR() Functie

Met behulp van de functie instr() kunnen we een tekenreeks en een subtekenreeks opgeven. De functie bepaalt of de subtekenreeks bestaat in de brontekenreeks. Als de subtekenreeks bestaat, retourneert de functie de positie van de eerste keer dat de subtekenreeks voorkomt in de brontekenreeks.

Als de subtekenreeks niet bestaat in de brontekenreeks, retourneert de functie 0.







Het volgende demonstreert de syntaxis van de functie instr():



INSTR(src_string, sub_string);

De functie accepteert twee hoofdparameters:



  1. De src_string verwijst naar de bronstring waarin u wilt zoeken.
  2. De sub_string definieert de substring waarnaar u zoekt.

Het is goed om te onthouden dat de functie instr() niet hoofdlettergevoelig is. Daarom zal de functie alleen overeenkomende patronen vinden zonder rekening te houden met het tekenomhulsel,





Om een ​​hoofdlettergevoelige zoekopdracht uit te voeren, kunt u andere hulpmiddelen gebruiken, zoals de binaire operator.

Voorbeeld Functiegebruik

De volgende voorbeelden laten zien hoe we de functie instr() kunnen gebruiken om naar een specifieke subtekenreeks te zoeken.



SELECTEER INSTR('MySQL is een geweldige database-engine', 'database') as pos;

Het bovenstaande voorbeeld retourneert de beginpositie van de tekenreeks 'database' uit de brontekenreeks. In dit geval is de positie van de databasestring 21, zoals weergegeven in de onderstaande uitvoer:

pos|

---+

21|

Voorbeeld 2

We kunnen de functies lower() of upper gebruiken om een ​​tekenreeks om te zetten in kleine letters of hoofdletters. Dit kan ons helpen de hoofdlettergevoeligheid van de functie te overwinnen.

Voorbeeld:

SELECT INSTR(lower('MySQL is een geweldige database-engine'), lower('DATABASE')) as pos;

Resultaat:

pos|

---+

21|

Dit retourneert een vergelijkbare waarde als in het eerste voorbeeld, aangezien de brontekenreeks en subtekenreeks worden geconverteerd naar kleine letters vóór de zoekbewerking.

Voorbeeld 3

We kunnen ook de functie instr() gebruiken met een tabelkolom, zoals weergegeven in de onderstaande syntaxis.

SELECT INSTR(kolom_naam, 'subtekenreeks')

VAN tafelnaam;

Voorbeeld:

CREATE TABLE blogs (

id INT NOT NULL AUTO_INCREMENT PRIMAIRE SLEUTEL,

titel VARCHAR(255) NIET NULL,

inhoud TEKST NIET NULL,

date_posted DATUM NIET NULL,

auteur VARCHAR(255) NIET NULL

);

Voer enkele gegevens in:

INSERT INTO blogs (titel, inhoud, datum_geplaatst, auteur)

WAARDEN ('Mijn eerste blogpost', 'Dit is de inhoud van mijn eerste blogpost.', '2022-12-09', 'Jane Doe');

INSERT INTO blogs (titel, inhoud, datum_geplaatst, auteur)

WAARDEN ('Mijn tweede blogpost', 'Dit is de inhoud van mijn tweede blogpost.', '10-12-2022', 'Jane Doe');

INSERT INTO blogs (titel, inhoud, datum_geplaatst, auteur)

WAARDEN ('Mijn derde blogpost', 'Dit is de inhoud van mijn derde blogpost.', '2022-12-11', 'Jane Doe');

selecteer * uit blogs;

resulterende tabel:

We kunnen de functie instr() gebruiken om de positie van de subtekenreeks 'blog' in de inhoudskolom te krijgen, zoals weergegeven:

selecteer titel, instr(content, 'post') van blogs;

Resultaat:

Conclusie

In deze tutorial heb je geleerd hoe je de INSTR() functie in MySQL gebruikt om de positie van een substring binnen een string te vinden. De functie is hoofdlettergevoelig. Daarom moet u mogelijk functies zoals lower en upper gebruiken om de zoekreeksen om te zetten in de door u gewenste hoofdletters.