Rezumat: Acest tutorial vă arată cum să utilizați funcția MySQL INSTR pentru a reveni la poziția primei apariții a unui șir.
Introducere în funcția MySQL INSTR
uneori, doriți să localizați un subșir într-un șir sau să verificați dacă există un subșir într-un șir. În acest caz, puteți utiliza o funcție încorporată de șir numită INSTR
.
funcția INSTR
returnează poziția primei apariții a unui subșir într-un șir., Dacă substringul nu se găsește în str, funcția INSTR
returnează zero (0).
următoarele ilustrează sintaxa funcției INSTR
.
Code language: SQL (Structured Query Language) (sql)
Încercați să-L Afară
INSTR
funcția acceptă două argumente:
str
este șirul pe care doriți să căutați.substr
este substringul pe care doriți să îl căutați.
funcțiaINSTR
nu este sensibilă la majuscule., Aceasta înseamnă că nu contează dacă treceți cu litere mici, majuscule, titlu etc., rezultatele sunt întotdeauna aceleași.
Dacă doriți INSTR
funcția de a efectua căutări în cazul în-mod sensibil de la un non-șir binar, utilizați BINARY
operator să arunce o singură argumentul INSTR
funcția de la un non-șir binar de la un șir binar.
exemplele de funcții MySQL INSTR
următoarea declarație returnează poziția Substringului MySQL în șirul MySQL INSTR
.,
Code language: SQL (Structured Query Language) (sql)
Încercați să-L Afară
următoarea declarație returnează același rezultat pentru că INSTR
funcția este case-insensitive.,
Code language: SQL (Structured Query Language) (sql)
Încercați să-L Afară
Pentru a forța INSTR
funcția de căutare în funcție de caz sensibil la moda, utilizați BINARY
operator, după cum urmează:
Code language: SQL (Structured Query Language) (sql)
Încercați să-L Afară
rezultatul este diferit, deoarece mysql vs MySQL acum cu BINARY
operator.
funcția INSTR vs. operatorul similar
vom folosi tabelul products
din Baza de date de probă.,
să Presupunem că doriți să găsiți produs al cărui nume conține car
cuvinte cheie, puteți utiliza INSTR
funcție, după cum urmează:
Code language: SQL (Structured Query Language) (sql)
Încercați să-L Afară
în Afară de INSTR
funcția, puteți folosi LIKE
operator pentru a se potrivi Car
model.,
Code language: SQL (Structured Query Language) (sql)
încercați-l
ambele interogări returnează același rezultat. Deci, care este mai rapid, INSTR
sau LIKE
operator?răspunsul este că acestea sunt aceleași. Ambele sunt sensibile la majuscule și efectuează scanări complete ale tabelelor.
să creăm un index pe coloana productname
.,
Code language: SQL (Structured Query Language) (sql)
Încercați să-L Afară
Dacă utilizați LIKE
operator prefix de căutare, pe acest indexate coloană, LIKE
operatorul va efectua mai rapid decât INSTR
function.
A se vedea următoarea declarație.,
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.,
Încercați să-L Afară
INSTR
funcția efectuează o scanare masă, chiar dacă productname
coloana are un indice. Acest lucru este pentru că MySQL nu poate face nici o presupunere despre semantica INSTR
funcția, prin care MySQL poate utiliza capacitatea de înțelegere a semanticii LIKE
operator.
cel mai rapid mod de a testa dacă există un subșir într-un șir este de a utiliza un index full-text., Cu toate acestea, este necesară o configurare și să mențină indicele în mod corespunzător.
În acest tutorial, ați învățat cum să utilizați funcția INSTR
pentru a găsi poziția primei apariții a unui subșir într-un șir.
- a fost acest tutorial util?
- YesNo
Leave a Reply