比如数据库的字段如下

  1. id text

  2. 01 \abc

假如查询id=01的这一行怎么办呢,如果是等于查询,把一个换成两个就好了

select * from table where text='\\abc'

但如果是用like查询呢,需要把一个换成四个

select * from table where text like '\\\\abc'

用正则regexp查询也是四个\

select * from table where text regexp '\\\\abc'

为什么呢,因为在查询时,like会对字符串进行一次转义,而在查询时还会再进行一次转义。所以,如果想要最后能匹配到一个 '\',就需要进行两次反转义,即把一个 '\' 换成四个 '\' 才行。