MySQL LIKE-Abfrage mit Unterstrich
In SQL kann der LIKE-Operator verwendet werden, um nach Mustern innerhalb von Zeichenfolgen zu suchen. Bei der Verwendung von LIKE mit einem Unterstrich (_) müssen jedoch besondere Überlegungen angestellt werden.
Das Problem
Wenn Sie LIKE verwenden, um nach einer Zeichenfolge zu suchen, die einen Unterstrich enthält, Der Unterstrich wird als Platzhalter behandelt. Das bedeutet, dass die folgende Abfrage:
1 |
|
alle Zeilen in der Tabelle „images“ zurückgibt, in denen die Spalte „img_path“ mit „abc“ beginnt, einschließlich Zeilen mit Unterstrichen (z. B. „abcde_1.jpg“). ).
Die Lösung
Um dem Sonderzeichen zu entkommen und dafür zu sorgen Der LIKE-Operator stimmt nur mit Zeichenfolgen überein, die mit „abc_“ beginnen. Der Unterstrich muss mit einem Backslash () maskiert werden. Die korrekte Abfrage lautet:
1 |
|
Erklärung
Durch das Escapezeichen des Unterstrichs behandelt der LIKE-Operator ihn als Literalzeichen. Damit die Spalte „img_path“ übereinstimmt, muss sie mit „abc_“ beginnen. Infolgedessen werden nur die Zeilen 1 und 2 zurückgegeben.
Das obige ist der detaillierte Inhalt vonWie entgeht man Unterstrichen in MySQL-LIKE-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!