Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да избягвам специални символи в MySQL?

Информацията, предоставена в този отговор, може да доведе до несигурни програмни практики.

Предоставената тук информация зависи до голяма степен от конфигурацията на 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" %';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да се присъединя към множество SQL таблици, използвайки идентификаторите?

  2. Сравняване на периоди от време

  3. Оптимизиране на производителността на заявките в MySQL

  4. MySQL заявка, MAX() + GROUP BY

  5. Предоставяне на разрешения на потребител на MySQL в Linux чрез командния ред