Heim > Datenbank > MySQL-Tutorial > Wie kann ich Prozent- und Unterstrichzeichen im NO_BACKSLASH_ESCAPES-Modus von MySQL maskieren?

Wie kann ich Prozent- und Unterstrichzeichen im NO_BACKSLASH_ESCAPES-Modus von MySQL maskieren?

Mary-Kate Olsen
Freigeben: 2024-12-01 00:08:11
Original
773 Leute haben es durchsucht

How to Escape Percent and Underscore Characters in MySQL's NO_BACKSLASH_ESCAPES Mode?

Escape-Prozent- und Unterstrichzeichen in MySQL mit dem NO_BACKSLASH_ESCAPES-Modus

Wenn MySQL im NO_BACKSLASH_ESCAPES-Modus ausgeführt wird, ist dies die Standardmethode zum Escapen von Literalprozenten (%) und Unterstrich (_)-Zeichen mit dem Backslash ()-Zeichen nicht verwendet werden anwendbar. Dieser Artikel bietet alternative Möglichkeiten, diese Zeichen speziell in diesem Modus zu maskieren.

Problem

Betrachten Sie das folgende Beispiel: Eine Spalte in einer MySQL-Tabelle enthält Werte wie „5 % Rabatt“ und „50 % Rabatt“. Die folgende LIKE-Abfrage, die das standardmäßige Backslash-Escape-Zeichen verwendet, funktioniert im NO_BACKSLASH_ESCAPES-Modus nicht:

SELECT * FROM mytable
WHERE mycol LIKE '5\% off'
Nach dem Login kopieren

Lösung

Im NO_BACKSLASH_ESCAPES-Modus können Sie Prozente maskieren und Unterstrichzeichen mit einer anderen Escape-Sequenz. Eine Möglichkeit besteht darin, das Backslash-Zeichen vor dem Escape-Schlüsselwort zu verwenden. Zum Beispiel:

SELECT * FROM mytable
WHERE mycol LIKE '5\% off' ESCAPE '\'
Nach dem Login kopieren

Alternative Lösung

Alternativ können Sie ein anderes Zeichen zum Escapezeichen verwenden, beispielsweise das Pipe-Zeichen (|). Die folgende Abfrage funktioniert unabhängig von der NO_BACKSLASH_ESCAPES-Moduseinstellung:

SELECT * FROM mytable
WHERE mycol LIKE '5|% off' ESCAPE '|'
Nach dem Login kopieren

Mit diesen Techniken können Sie literale Prozent- und Unterstrichzeichen in MySQL-Abfragen effektiv maskieren, selbst wenn Sie sich im NO_BACKSLASH_ESCAPES-Modus befinden.

Das obige ist der detaillierte Inhalt vonWie kann ich Prozent- und Unterstrichzeichen im NO_BACKSLASH_ESCAPES-Modus von MySQL maskieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage