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
str
ist die Zeichenfolge, in der Sie suchen möchten. - Die
substr
ist 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 Car
Muster.,
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