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:
streste șirul pe care doriți să căutați.substreste 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