通配符与模糊查询
单字符通配符"_":匹配一个字符
多字符通配符"%":匹配多个字符
通常搭配like使用,如,模糊查询第二第三个字符已知为LA的雇员(从emp表中):
select empno,ename from emp where ename like‘_LA%‘;
结果为:
SQL的通配符有
通配符 | 解释 |
% | 匹配任意多个字符 |
_ | 匹配任意一个字符 |
[字符序列] | 匹配复合字符序列中的任意一个字符 |
[!字符序列] | 匹配非字符序列中的任意一个字符 |
转义字符(使用escape)
如查询的结果中本来就有“_”、“%”这些字符怎么办呢?
答:使用escape
escape 指定一个字符为转义字符,转义字符后面的第一个字符会变成普通字符。如我们要匹配包含a_b的结果
如果直接使用 like ‘%a_b%‘ ,那么它会将_识别为通配符,从而得不到我们想要的结果,这时,我们使用escape ‘/’ 指定 ‘/’为转义字符,转义字符后面的第一个字符强制为普通字符,即可匹配:
like‘%a/_b%‘ escape ‘/‘ 。
我们也可以指定其它字符为转义字符,如:like ‘%as_b%‘ escape ‘s‘ 效果也是一样的。