Sonderzeichen im NO_BACKSLASH_ESCAPES-Modus maskieren
Wenn die Option NO_BACKSLASH_ESCAPES in MySQL aktiviert ist, ist die Standardmethode zum Escapen eines Literals „%“ oder „ _“ mit „%“ funktioniert nicht. Dies stellt eine Herausforderung bei der Durchführung von LIKE-Abfragen dar.
Lösung 1: Verwendung eines Escape-Zeichens
Im NO_BACKSLASH_ESCAPES-Modus können Sie ein Escape-Zeichen verwenden, um Sonderzeichen wie „ %". Das Escape-Zeichen wird in der LIKE-Abfrage nach dem Escape-Schlüsselwort angegeben.
Zum Beispiel:
select * from mytable where mycol like '5\% off' escape '\';
In dieser Abfrage wird „“ als Escape-Zeichen verwendet, also steht „%“. das wörtliche „%“-Zeichen.
Lösung 2: Verwenden eines anderen Sonderzeichens
Wenn Sie Wenn Sie keinen Backslash als Escape-Zeichen verwenden können, können Sie ein anderes Sonderzeichen auswählen und es stattdessen verwenden. Zum Beispiel:
select * from mytable where mycol like '5|% off' escape '|';
Hier ist „|“ wird als Escape-Zeichen verwendet, daher stellt „5|% off“ eine Zeichenfolge mit einem wörtlichen „%“-Zeichen dar.
Das obige ist der detaillierte Inhalt vonWie entferne ich Sonderzeichen im NO_BACKSLASH_ESCAPES-Modus von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!