Информацията, предоставена в този отговор, може да доведе до несигурни програмни практики.
Предоставената тук информация зависи до голяма степен от конфигурацията на MySQL, включително (но не само) версията на програмата, клиента на базата данни и използваното кодиране на знаци.
Вижте 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.
Значи имате нужда от
select * from tablename where fields like "%string \"hi\" %";
Въпреки че като Бил Карвин отбелязва по-долу , използването на двойни кавички за разделители на низове не е стандартен SQL, така че е добра практика да използвате единични кавички. Това опростява нещата:
select * from tablename where fields like '%string "hi" %';