`

Mysql中like查询中存在反斜杠的解决方法

阅读更多

 

    一般like查询语句:

 

like '%test%'

 

    但是如果某个字段存在'\':

 

    这样的写法

like '%\%'

 

    以及

 

like '%\\%'

 

    都是不正确的。

 

    正确的写法:

 

like '%\\\%'

    原因:

    反斜线符号会被语法分析程序剥离一次,在进行模式匹配时,又会被剥离一次,最后会剩下一个反斜线符号接受匹配

 

 

分享到:
评论
1 楼 wanlic2008 2012-06-28  
呵呵,4个斜杠才是正确的。
mysql> select * from testZh t where t.mrId like '贵州普定\电厂';
Empty set

mysql> select * from testZh t where t.mrId like '贵州普定\\电厂';
Empty set

mysql> select * from testZh t where t.mrId like '贵州普定\\\
电厂';
Empty set
mysql> select * from testZh t where t.mrId like '贵州普定\\\\
电厂';
+----+---------------+-----------------------------------+------+---------------------+
| id | mrId          | mrName                            | text | isrTime             |
+----+---------------+-----------------------------------+------+---------------------+
|  1 | 贵州普定\电厂 | 贵州普定电厂PDD\110.00千伏\CB_120 | sd   | 2012-06-04 10:18:47 |
+----+---------------+-----------------------------------+------+---------------------+
1 row in set

相关推荐

Global site tag (gtag.js) - Google Analytics