sql >> Databáze >  >> RDS >> Mysql

Jak uniknout speciálním znakům v MySQL?

Informace uvedené v této odpovědi mohou vést k nezabezpečeným programovacím praktikám.

Zde uvedené informace do značné míry závisí na konfiguraci MySQL, včetně (ale nejen) verze programu, databázového klienta a použitého kódování znaků.

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

Takže potřebujete

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

Ačkoli Bill Karwin poznamenává níže , používání dvojitých uvozovek pro oddělovače řetězců není standardní SQL, takže je dobré používat jednoduché uvozovky. To vše zjednodušuje:

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


  1. Převést text textového pole na celé číslo

  2. Jak dotazovat název databáze v Oracle SQL Developer?

  3. Úvod do datových spojení a vztahů

  4. Funkce USER v Oracle