比如数据库的字段如下
id text
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会对字符串进行一次转义,而在查询时还会再进行一次转义。所以,如果想要最后能匹配到一个 '\',就需要进行两次反转义,即把一个 '\' 换成四个 '\' 才行。
评论区(0 条)
发表评论⏳ 加载编辑器…