oracle-ESCAPE转义字符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/S630730701/article/details/79347378

为了更好的理解ESCAPE转义字符,我们首先建立一个view作为数据源

create or replace view v as 
select  'ABCEDF' as vname from dual union all
select '_bcefg' from dual union all
select '_bcedf' from dual union all
select '_\bcedf' from dual union all
select '_%bcedg' from dual union all

select 'xycef' from dual;


查询看下结果:

select * from v;


要求:查出vname中包含_ced的记录

select * from v where vname like '_bce%'


结果多了一个abcef记录。因为like子句中有两个通配符“%”“_”

这里“_”被当做的通配符,我们需要给它转义成字符串“_”。

下面操作:

select * from v where vname like '\_bce%' escape '\';


总结:escape '\'   起到转义的作用。  \后面的_不再是通配符的作用了而是字符串的意思。


如果没有oracle环境执行sql,可以试试下面的地址:

oracle的scott学习环境


猜你喜欢

转载自blog.csdn.net/S630730701/article/details/79347378