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
str
is de tekenreeks waarin u wilt zoeken. - de
substr
is 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