Resumé: denne tutorial viser dig, hvordan du kan bruge MySQL INSTR funktion til at returnere placeringen af den første forekomst af en streng.
Introduktion til Mys .l INSTR-funktionen
Nogle gange vil du finde en substring i en streng eller kontrollere, om der findes en substring i en streng. I dette tilfælde kan du bruge en streng indbygget funktion kaldet INSTR
.
INSTR
– funktionen returnerer positionen for den første forekomst af en substring i en streng., Hvis substringen ikke findes i str, returnerer funktionen INSTR
nul (0).
følgende illustrerer syntaksen for funktionen INSTR
.
Code language: SQL (Structured Query Language) (sql)
Prøv
INSTR
funktionen accepterer to argumenter:
str
er den streng, du ønsker at søge i.substr
er den substring, du vil søge efter.
INSTR
funktionen er ikke store og små bogstaver., Det betyder, at det ikke betyder noget, om du passerer små bogstaver, store bogstaver, titelsagen osv., resultaterne er altid de samme.
Hvis du ønsker INSTR
funktion til at udføre søgninger i case-sensitive måde, på en ikke-binær streng, skal du bruge BINARY
operatør til at kaste et argument om INSTR
funktion fra en ikke-binær streng til en binær streng.
MySQL INSTR funktion eksempler
følgende erklæring returnerer positionen af substring MySQL i MySQL INSTR
string.,
Code language: SQL (Structured Query Language) (sql)
Prøv
følgende erklæring returnerer det samme resultat, fordi INSTR
funktion er store og små bogstaver.,
Code language: SQL (Structured Query Language) (sql)
Prøv
for At tvinge INSTR
funktion til at søge baseret på case-sensitive mode, skal du bruge BINARY
operatør som følger:
Code language: SQL (Structured Query Language) (sql)
Prøv
resultatet er anderledes, fordi mysql vs. MySQL-nu med BINARY
operatør.
INSTR-funktionen vs. som operatør
Vi bruger products
tabel i eksempeldatabasen.,
Antag, at du ønsker at finde produktet, hvis navn indeholder car
søgeord, kan du bruge INSTR
funktion som følger:
Code language: SQL (Structured Query Language) (sql)
Prøv
Udover INSTR
funktion, du kan bruge LIKE
operatør til at matche Car
mønster.,
Code language: SQL (Structured Query Language) (sql)
prøv det
begge forespørgsler returnerer det samme resultat. Så hvilken er hurtigere,INSTR
ellerLIKE
operatør?
svaret er, at de er de samme. De er begge store og små bogstaver og udføre fuld tabel scanninger.
lad os oprette et indeks på kolonnen productname
.,
Code language: SQL (Structured Query Language) (sql)
Prøv
Hvis du bruger LIKE
operatør med præfikset søg, på dette indekseret kolonne LIKE
operatør vil udføre hurtigere end INSTR
funktion.
se følgende erklæring.,
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.,
Prøv
INSTR
funktion udfører en tabel scanning, selvom det productname
kolonne har et indeks. Dette skyldes, at MySQL ikke kan gøre nogen antagelse om semantik af INSTR
funktion, hvorved MySQL kan udnytte sin forståelse af semantikken for LIKE
operatør.
den hurtigste måde at teste, om der findes en substring i en streng, er at bruge et fuldtekstindeks., Det er dog nødvendigt en configure og vedligeholde indekset korrekt.
i denne tutorial har du lært, hvordan du bruger funktionen INSTR
til at finde placeringen af den første forekomst af en substring i en streng.
- var denne vejledning nyttig?
- YesNo
Leave a Reply