oracle所有转义字符,Oracle 转义字符

一、准备特殊数据

create table t_escape(s varchar2(50));

--show define -- define "&" (hex 26)

--show escape -- escape off

set define off

set escape on

insert into t_escape values('string&text');

insert into t_escape values('string\&text');

insert into t_escape values('string\%text');

insert into t_escape values('string\_text');

insert into t_escape values('string''text');

set escape off

set define on

insert into t_escape values('Top_Gun');

insert into t_escape values('Tom''s eye');

insert into t_escape values('normal');

insert into t_escape values('100%ps');

insert into t_escape values('12345');

insert into t_escape values('15%30');

insert into t_escape values('%40');

insert into t_escape values('25%XT');

insert into t_escape values('%%A3E5');

set define off

--直接插入如下数据时,插入结果不正确。

insert into t_escape values('T&T Company');

set define on

commit;

/

二、使用转义查询

[界定符][转义符]%'escape'[界定符] 为转义定义,如

转义_,使用$_%'escape'$,这里界定符是$。

select * from t_escape where s like 'Top$_%'escape'$';

界定符可以是空格,\,=,/,|,不能是字母。

例,查找含有'%'的所有字段:

select * from t_escape where s like '%\%%' escape '\';

'&'不能通过转义字符查找:

select * from t_escape where s like '%\&%' escape'\';

可以通过另外的方式进行转义:

select ascii('&') from dual; -- ASCII = 38

select * from t_escape where s like '%'||chr(38)||'%';

查找单引号:

select * from t_escape where s like '%''%';

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值