关于oracle的where条件有特殊符号的处理

来源:互联网 发布:发票统计软件 编辑:程序博客网 时间:2024/05/26 12:53

有这样的一些数据:
select 'fie_a' as col from dual
union all
select 'fie_b' as col from dual
union all
select 'fi_a' as col from dual
union all
select 'fi_b' as col from dual;

我需要从这些数据中查找fi_开头的数据,一般写法是:
select *
from (
      select 'fie_a' as col from dual
      union all
      select 'fie_b' as col from dual
      union all
      select 'fi_a' as col from dual
      union all
      select 'fi_b' as col from dual
) t
where t.col like 'fi_%';

但这样写并不能得到我们想要的结果,那么我们需要作如下处理:

select *
from (
      select 'fie_a' as col from dual
      union all
      select 'fie_b' as col from dual
      union all
      select 'fi_a' as col from dual
      union all
      select 'fi_b' as col from dual
) t
where t.col like 'fi\_%' escape '\';

原创粉丝点击