在SQl like语句中,比如
1 | SELECT * FROM user WHERE username LIKE '%luchi%' |
- % 作为通配符通配多个
- _ 作为通配符通配一个
但当like 所要查询的字段中含有 % ,我们如何去查?
这个时候就需要指明 字段中的那个’%‘ 不作为通配符,这里就需要用到 ESCAPE 转义
测试:
1 | SELECT * FROM user WHERE username LIKE '%%%'; |
这里会发现三个%号都被当做通配符了;
解决办法:
1 | SELECT * FROM user WHERE username LIKE '%1%%' ESCAPE '1'; |
备注:like放在where条件还能这样用,如果是在select中这样是不好使的,建议使用regexp