在like谓词查询中,会使用到两个通配符:"%"和"_"、,其中"%"表示零个或任意多个字符,"_"表示任意一个字符,但如果查询的条件表达式中出现了"%"和"_",就需要对其进行转义。
另外,还有一个特殊的字符"'",若出现在查询表达式中,也需要进行转义,其转义方式和以上两个字符的转义方式有些差别。下面以示例简单说明:
1、对"%"的转义
select * from student where description like '%!%%' escape '!'
本sql解释为取出表student中所有字段description中含有"%"的记录。
2、对"_"的转义
select * from students where description like '%!_%' escape '!'
本sql解释为取出表student中所有字段description中含有"_"的记录。
3、对"'"的转义
select * from students where description like '%''%''
本sql解释为取出表student中所有字段description中含有"'"的记录。
比较以上3条sql,不难看出,对于"%"和"_"需要指定一个转义字符,用关键字escape说明。例子中使用了'!',但你可以使用其它字符,比如字母a-z(大小写任意),或者数字0-9和其它字符等。