MySql模糊查询中特殊字符处理


  近日在使用mysql的like查询用户时,当用户姓名中含有" ' ","%","_",,"\"等特殊符号时,按以往的查询方式,并不能得出想要的结果。

    查阅资料得知:在遇到这些特殊字符时,需要对字符进行转义。

 

  • ':用于包裹搜索条件,需转为\';
  • %:用于代替任意数目的任意字符,需转换为\%;
  • _:用于代替一个任意字符,需转换为\_;
  • \:转义符号,需转换为\\\\。

 

以下是一些匹配的举例。

1,搜索a'b...

SELECT * FROM user WHERE name LIKE 'a\'b%'

2,搜索a%b...

SELECT * FROM user WHERE name LIKE 'a\%b%';

3,搜索a_b...  

SELECT * FROM user WHERE name LIKE 'a\_b%';

4,搜索a\b...

SELECT * FROM user WHERE name LIKE  'a\\\\b%';

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM