Samenvatting: Deze tutorial laat u zien hoe u de MySQL INSTR-functie kunt gebruiken om de positie van het eerste voorkomen van een string te retourneren.
Inleiding tot de MySQL INSTR functie
soms wilt u een substring in een string lokaliseren of controleren of een substring in een string bestaat. In dit geval kunt u een ingebouwde string functie gebruiken genaamd INSTR.
de functie INSTR geeft de positie van het eerste voorkomen van een substring in een string terug., Als de substring niet gevonden wordt in de str, geeft de functie INSTR nul (0) terug.
het volgende illustreert de syntaxis van de INSTR functie.
Code language: SQL (Structured Query Language) (sql)
probeer het uit
de functie INSTR accepteert twee argumenten:
- De
stris de tekenreeks waarin u wilt zoeken. - de
substris de substring waarnaar u wilt zoeken.
de functie INSTR is niet hoofdlettergevoelig., Het betekent dat het niet uitmaakt of je de kleine letters, hoofdletters, titelcase, enz.passeert. de resultaten zijn altijd hetzelfde.
Als u wilt dat de functie INSTR zoekopdrachten op hoofdlettergevoelige wijze uitvoert op een niet-binaire tekenreeks, gebruikt u de operator BINARY om het argument van de functie INSTR van een niet-binaire tekenreeks naar een binaire tekenreeks te casten.
de MySQL INSTR function examples
de volgende instructie geeft de positie van de substring MySQL in de MySQL INSTR string.,
Code language: SQL (Structured Query Language) (sql)
probeer het uit
de volgende verklaring geeft hetzelfde resultaat omdat de INSTR functie is hoofdletterongevoelig.,
Code language: SQL (Structured Query Language) (sql)
Probeer Het
Om de kracht INSTR functie om te zoeken op basis van case-sensitive mode, gebruik je de BINARY operator als volgt:
Code language: SQL (Structured Query Language) (sql)
Probeer Het
Het resultaat is anders omdat mysql vs. MySQL nu met de BINARY operator.
de INSTR functie vs.like operator
We zullen de products tabel gebruiken in de voorbeelddatabase.,
Stel u wilt om het product te vinden waarvan de naam begint met de car zoekwoord, kunt u gebruik maken van de INSTR functie als volgt:
Code language: SQL (Structured Query Language) (sql)
Probeer Het
Naast INSTR functie u kunt gebruik maken van de LIKE operator die overeenkomen met de Car patroon.,
Code language: SQL (Structured Query Language) (sql)
probeer het uit
beide queries geven hetzelfde resultaat. Dus welke is sneller, de INSTR of de LIKE operator?
het antwoord is dat ze hetzelfde zijn. Ze zijn zowel hoofdlettergevoelig en voeren volledige tabel scans.
laten we een index maken op de kolom productname.,
Code language: SQL (Structured Query Language) (sql)
probeer het uit
Als u de LIKE operator gebruikt met het voorvoegsel zoeken, zal op deze geïndexeerde kolom de LIKE operator sneller presteren dan de INSTR functie.
zie de volgende verklaring.,
Code language: SQL (Structured Query Language) (sql)
Try It Out
You can check it using the EXPLAIN statement:
Code language: SQL (Structured Query Language) (sql)
Try It Out
And compare with the following statement that uses the INSTR function.,
probeer het uit
de functie INSTR voert een tabelscan uit hoewel de functie productname kolom heeft een index. Dit komt omdat MySQL geen enkele veronderstelling kan maken over de semantiek van de INSTR functie, waarbij MySQL zijn begrip van de semantiek van de LIKE operator kan gebruiken.
de snelste manier om te testen of een substring in een string bestaat, is door een full-text index te gebruiken., Echter, het is vereist een configure en onderhouden van de index goed.
in deze tutorial hebt u geleerd hoe u de functie INSTR kunt gebruiken om de positie van het eerste voorkomen van een substring in een string te vinden.
- Was deze tutorial nuttig?
- YesNo
Leave a Reply