Zusammenfassung: Dieses Tutorial zeigt Ihnen, wie Sie die MySQL INSTR-Funktion verwenden, um die Position des ersten Auftretens einer Zeichenfolge zurückzugeben.
Einführung in die MySQL INSTR-Funktion
Manchmal möchten Sie einen Teilstring in einer Zeichenfolge suchen oder überprüfen, ob ein Teilstring in einer Zeichenfolge vorhanden ist. In diesem Fall können Sie eine integrierte String-Funktion namens INSTR.
Die Funktion INSTR gibt die Position des ersten Auftretens einer Teilzeichenfolge in einer Zeichenfolge zurück., Wenn die Teilzeichenfolge in der str nicht gefunden wird, gibt die Funktion INSTR null (0) zurück.
Im Folgenden wird die Syntax der Funktion INSTR dargestellt.
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die INSTR Funktion akzeptiert zwei Argumente:
- Die
strist die Zeichenfolge, in der Sie suchen möchten. - Die
substrist die Teilzeichenfolge, nach der Sie suchen möchten.
Die INSTR – Funktion ist nicht groß – / Kleinschreibung., Dies bedeutet, dass es keine Rolle spielt, ob Sie Kleinbuchstaben, Großbuchstaben, Großbuchstaben usw. übergeben., die Ergebnisse sind immer gleich.
Wenn Sie möchten, dass dieINSTR-Funktion Groß-und Kleinschreibung in einer nicht binären Zeichenfolge sucht, verwenden Sie den OperatorBINARY, um das Argument derINSTR-Funktion von einer nicht binären Zeichenfolge in eine binäre Zeichenfolge umzuwandeln.
Die MySQL INSTR Funktion Beispiele
Die folgende Anweisung gibt die Position der Teilzeichenfolge MySQL in derMySQL INSTR string.,
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die folgende Anweisung gibt das gleiche Ergebnis zurück, da die Funktion INSTR Groß-und Kleinschreibung nicht berücksichtigt.,
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Um die INSTR-Funktion zur Suche nach Groß-und Kleinschreibung zu zwingen, verwenden Sie den Operator BINARY wie folgt:
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Das Ergebnis ist anders, weil MySQL vs. MySQL jetzt mit dem Operator BINARY.
Die INSTR-Funktion vs. LIKE operator
Wir verwenden die products – Tabelle in der Beispieldatenbank.,
Angenommen, Sie möchten ein Produkt finden, dessen Name die car – Funktion enthält.7461eb3df8″>
Probieren Sie es aus
Neben derINSTR – Funktion können Sie denLIKE – Operator verwenden, um mit der CarMuster.,
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Beide Abfragen geben das gleiche Ergebnis zurück. Welcher ist also schneller, der INSTR oder der LIKE Operator?
Die Antwort ist die, dass sie gleich sind. Sie sind beide Groß-und Kleinschreibung und führen vollständige Tabelle Scans.
Erstellen wir einen Index für die Spalte productname.,
Probieren Sie es aus
Wenn Sie den Operator LIKE mit dem Präfix search verwenden, wird in dieser indizierten Spalte der Operator LIKE schneller ausgeführt als die Funktion INSTR.
Siehe folgende Anweisung.,
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.,
Probieren Sie es aus
Die INSTR Funktion führt einen Tabellenscan durch, obwohl die productname Spalte einen Index hat. Dies ist, da MySQL keine Annahme über die Semantik der INSTR Funktion, wobei MySQL nutzen können, Ihr Verständnis der Semantik des LIKE operator.
Der schnellste Weg, um zu testen, ob ein Teilstring in einer Zeichenfolge vorhanden ist, ist die Verwendung eines Volltextindex., Es ist jedoch erforderlich, eine Konfiguration und pflegen den Index richtig.
In diesem Tutorial haben Sie gelernt, wie Sie mit der Funktion INSTR die Position des ersten Auftretens eines Teilstrings in einer Zeichenfolge ermitteln.
- War dieses tutorial hilfreich?
- YesNo
Leave a Reply