今天在修复一些BUG时,测试人员提了一个BUG:输入特殊字符无法模糊搜索到,例如,在文本框输入“测试搜索1218-02&()[【】<-->()”,无法搜索到相关数据;实际数据库中存在该数据。
百度一下,打开发现很多这方面的说明,简单看了一下,原来如此【参考如下博客:http://blog.youkuaiyun.com/lisliefor/article/details/6547861】:
SQL在like的时候,有些特殊字符,需要经过转义才能解决;常用的四个特殊字符:下划线_、百分号%、方括号[]、尖号^。
我们应该针对这些特殊字符进行一个处理,利用[]把它们给括起来,这样就可以解决了,例如:下划线_——》[_]、百分号%[%]。
注意:方括号[]只需要对开始(及[)进行括起来([[])。