Informasi yang diberikan dalam jawaban ini dapat menyebabkan praktik pemrograman yang tidak aman.
Informasi yang diberikan di sini sangat bergantung pada konfigurasi MySQL, termasuk (namun tidak terbatas pada) versi program, klien basis data, dan pengkodean karakter yang digunakan.
Lihat 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.
Jadi, Anda perlu
select * from tablename where fields like "%string \"hi\" %";
Meskipun sebagai Catatan Bill Karwin di bawah , menggunakan tanda kutip ganda untuk pembatas string bukanlah SQL standar, jadi sebaiknya gunakan tanda kutip tunggal. Ini menyederhanakan banyak hal:
select * from tablename where fields like '%string "hi" %';