我们经常会碰到在数据库中使用模糊搜索时但是要查找的字符串中就会我们常用的通配符,这种情况要怎么处理呢,下面来看看。
如我要查找文章中的一个字符
例:
代码如下 | |
select * from table where content like '%key%' |
但是key中本身就有'%'号,这样肯定是sql语句出错了或查不出我们想要的内容。
后来百度找到了sql中ESCAPE定义转义符,这样就可以解决这个问题了。
示例:
代码如下 | |
select * from table where content like '%/%%' escape '/' |
/为转义字符,第二个%为普通字符,第一、三个%为通配符。
代码如下 | |
select * from table where content like '%/%//%' escape '/' |
/为转义字符,第二个%为普通字符,第一、三个%为通配符,第二个/为转义字符,第三个/为普通字符。
小提示
由于%是特殊字符,所以like后面的字符串中%需要转义,这是需要使用escape来定义转移符。例子中“”被定义为转
移字符。