Escape-Zeichen für wörtliche Prozente und Unterstriche im NO_BACKSLASH_ESCAPES-Modus von MySQL
In MySQL deaktiviert der NO_BACKSLASH_ESCAPES-Modus das herkömmliche Backslash-Zeichen () als Escape Mechanismus innerhalb von LIKE-Abfragen. Dieser Modus bringt Herausforderungen mit sich, wenn versucht wird, wörtliche Prozentzeichen (%) und Unterstriche (_) zu maskieren.
Standard-Escape-Methode
Die Standardmethode, um das Prozentzeichen in zu maskieren Einer LIKE-Abfrage muss ein Backslash () vorangestellt werden. Im NO_BACKSLASH_ESCAPES-Modus funktioniert diese Methode jedoch nicht.
Escape-Zeichen-Alternative
Um Literalzeichen ohne Verwendung des Backslashs zu maskieren, können Sie mit ein alternatives Escape-Zeichen angeben das Schlüsselwort ESCAPE. Zum Beispiel:
SELECT * FROM mytable WHERE mycol LIKE '5\% off' ESCAPE '\';
Versionsunabhängiges Escape
Um eine Abfrage zu erstellen, die unabhängig von der Moduseinstellung NO_BACKSLASH_ESCAPES funktioniert, können Sie ein anderes Escape-Zeichen verwenden. Beispielsweise kann das Pipe-Zeichen (|) als Escape-Zeichen definiert werden:
SELECT * FROM mytable WHERE mycol LIKE '5|% off' ESCAPE '|';
Durch die Angabe eines alternativen Escape-Zeichens können Sie literale %- und _-Zeichen auch im NO_BACKSLASH_ESCAPES-Modus effektiv maskieren. Dies ermöglicht die Erstellung von LIKE-Abfragen, die in verschiedenen MySQL-Konfigurationen zuverlässig funktionieren.
Das obige ist der detaillierte Inhalt vonWie entkomme ich literale Prozent- und Unterstrichzeichen im NO_BACKSLASH_ESCAPES-Modus von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!