sql >> Databasteknik >  >> RDS >> Mysql

Hur undkommer jag specialtecken i MySQL?

Informationen i det här svaret kan leda till osäkra programmeringsmetoder.

Informationen som tillhandahålls här beror i hög grad på MySQL-konfiguration, inklusive (men inte begränsat till) programversionen, databasklienten och teckenkodningen som används.

Se 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.

Så du behöver

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

Även om som noterar Bill Karwin nedan , att använda dubbla citattecken för strängavgränsare är inte standard SQL, så det är bra att använda enkla citattecken. Detta förenklar saker och ting:

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


  1. Hur stoppar/dödar man en fråga i postgresql?

  2. Hur läser man innehållet i en .sql-fil till ett R-skript för att köra en fråga?

  3. Android anpassad kalender och påminnelse

  4. Oracle trigger fel ORA-04091