sql >> Databasteknik >  >> RDS >> Mysql

Hur söker man efter snedstreck (\) i MySQL? och varför escape (\) krävs inte för var (=) men för Like krävs?

\ fungerar som ett escape-tecken i LIKE som standard.

Från manualen för LIKE :

Eftersom MySQL använder C escape-syntax i strängar (till exempel "\n" för att representera ett nyradstecken), måste du dubbla alla "\" som du använder i LIKE-strängar. Till exempel, för att söka efter "\n", ange det som "\\n". För att söka efter "\", ange det som "\\\\"; detta beror på att omvända snedstreck tas bort en gång av parsern och igen när mönstermatchningen är gjord , vilket lämnar ett enda snedstreck att matcha mot.

Du kan ändra detta genom att ange ett annat escape-tecken, som i:

SELECT * FROM `titles` WHERE title LIKE 'test\\' ESCAPE '|'


  1. SQL:Hitta maxposten per grupp

  2. Hur man returnerar Unix-tidsstämpeln i SQL Server (T-SQL)

  3. Dubbel kolon (::) notation i SQL

  4. LISTAGG() Funktion i Oracle