今天在使用Oracle模糊查询一个字段是否包含_的时候发现查询出来的数据不对,因为在模糊查询中%代表任意字符,_代表一个任意字符,所以直接使用的数据库会任为要匹配任意字符,所以查询出的数据不对:
普通模糊查询:
select * from table where column like ‘%要查询的字符%’;
这样的写法对于普通字符的模糊查询是没有问题的但是遇到查询字符为%或_就会有问题
Oracle中特殊字符模糊查询:
select * from table where column like '%\_%’' escape '\' ;