Wörtliches Prozentzeichen im NO_BACKSLASH_ESCAPES-MySQL-Modus mit Escapezeichen versehen
Im NO_BACKSLASH_ESCAPES-Modus von MySQL ist das %-Zeichen mit der üblichen Methode (%) nicht mit Escapezeichen versehen anerkannt. Dies kann eine Herausforderung darstellen, wenn LIKE-Abfragen ausgeführt werden, die literale Prozentzeichen beinhalten.
Um in diesem Modus ein literales % oder _ zu maskieren, muss nach dem Schlüsselwort LIKE ein Escape-Zeichen angegeben werden. Die Syntax hierfür lautet:
SELECT * FROM table_name WHERE column_name LIKE 'pattern_with_escaped_character' escape 'escape_character';
Betrachten Sie beispielsweise eine Tabelle mit den folgenden Werten:
Um alle Zeilen abzurufen, die das Literal „% Rabatt“ enthalten, kann die folgende Abfrage ausgeführt werden verwendet:
SELECT * FROM mytable WHERE mycol LIKE '5\% off' escape '\';
Beachten Sie, dass das Escape-Zeichen der Backslash () ist, gefolgt vom wörtlichen Prozentzeichen.
Alternativ können Sie eine andere Abfrage erstellen, die unabhängig vom NO_BACKSLASH_ESCAPES-Modus funktioniert Escape-Zeichen können verwendet werden. Zum Beispiel:
SELECT * FROM mytable WHERE mycol LIKE '5|% off' escape '|';
In diesem Fall wird das Pipe-Zeichen (|) als Escape-Zeichen verwendet. Durch die Angabe eines Escape-Zeichens ist es möglich, den standardmäßigen Backslash-basierten Escape-Mechanismus zu umgehen und die gewünschten Ergebnisse zu erzielen.
Das obige ist der detaillierte Inhalt vonWie entkomme ich wörtliche Prozentzeichen im NO_BACKSLASH_ESCAPES-Modus von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!