大家都知道,通配符两个:'%'、'_'.有时候写SQL语句查询的时候,会使用 like '%aa%' 等等。但是偶尔也希望能匹配通配符..例如想查询一个人用户名里面带有_的用户。
那么可以使用下面语句来实现:
select * from user where username like '%\_%' escape '\';
这样就可以了。
escape可以定义转移字符,上面的'\' 就成了转移字符了。其实据测试,escape后面的字符'\' 可以换成其他字符,但只能是一个字符。 例如:
select * from user where username like '%a_%' escape 'a';
也是可以的。但是不推荐...编程习惯问题...