Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann ich Sonderzeichen in MySQL maskieren?

Die in dieser Antwort bereitgestellten Informationen können zu unsicheren Programmierpraktiken führen.

Die hier bereitgestellten Informationen hängen stark von der MySQL-Konfiguration ab, einschließlich (aber nicht beschränkt auf) die Programmversion, den Datenbank-Client und die verwendete Zeichencodierung.

Siehe http://dev.mysql.com/doc/ refman/5.0/en/string-literals.html

MySQL recognizes the following escape sequences.
\0     An ASCII NUL (0x00) character.
\'     A single quote (“'”) character.
\"     A double quote (“"”) character.
\b     A backspace character.
\n     A newline (linefeed) character.
\r     A carriage return character.
\t     A tab character.
\Z     ASCII 26 (Control-Z). See note following the table.
\\     A backslash (“\”) character.
\%     A “%” character. See note following the table.
\_     A “_” character. See note following the table.

Sie brauchen also

select * from tablename where fields like "%string \"hi\" %";

Obwohl als Bill Karwin Notizen unten , die Verwendung von doppelten Anführungszeichen für Zeichenfolgentrennzeichen ist kein Standard-SQL, daher empfiehlt es sich, einfache Anführungszeichen zu verwenden. Das vereinfacht die Sache:

select * from tablename where fields like '%string "hi" %';