Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como procurar por barra (\) no MySQL? e por que escapar (\) não é necessário para onde (=), mas para Like é necessário?


\ funciona como um caractere de escape em LIKE por padrão.

Do manual para LIKE :

Como o MySQL usa a sintaxe de escape C em strings (por exemplo, “\n” para representar um caractere de nova linha), você deve dobrar qualquer “\” usado em strings LIKE. Por exemplo, para pesquisar "\n", especifique-o como "\\n". Para procurar “\”, especifique-o como “\\\\”; isso ocorre porque as barras invertidas são removidas uma vez pelo analisador e novamente quando a correspondência de padrão for feita , deixando uma única barra invertida para ser comparada.

Você pode alterar isso especificando outro caractere de escape, como em:
SELECT * FROM `titles` WHERE title LIKE 'test\\' ESCAPE '|'