sql >> Database >  >> RDS >> Mysql

Hoe ontsnap ik aan speciale tekens in MySQL?

De informatie in dit antwoord kan leiden tot onveilige programmeerpraktijken.

De informatie die hier wordt verstrekt, is sterk afhankelijk van de MySQL-configuratie, inclusief (maar niet beperkt tot) de programmaversie, de databaseclient en de gebruikte tekencodering.

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

Dus je moet

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

Hoewel als Bill Karwin hieronder opmerkt , is het gebruik van dubbele aanhalingstekens voor tekenreeksscheidingstekens geen standaard SQL, dus het is een goede gewoonte om enkele aanhalingstekens te gebruiken. Dit vereenvoudigt de zaken:

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


  1. Beperking van externe sleutels kan cycli of meerdere cascadepaden veroorzaken?

  2. Excel-datumnummer wijzigen in Oracle-datum

  3. PERIOD_ADD() Voorbeelden – MySQL

  4. Hoe de som van meerdere kolommen in PostgreSQL te berekenen?