like查询特殊字符,用转义符处理

本文介绍在Oracle数据库中如何使用LIKE结合转义字符进行精确查询,特别是当查询字符串中含有特殊字符如 '_' 和 '%' 时。通过具体示例说明了如何定义转义字符来避免这些特殊字符被误认为通配符。
 like中查询的字符串中有特殊字符,如:'_','%'该怎么查询。

理论

Oracle数据库中escape用来定义转义符,在转义符后加一个通配符,表示将该通配符变为普通字符。escape一般和like搭配使用。

转义符'/'

  例如:

(1). select * from tableA where column1 like '/_A%'  escape  '/';

(2). select * from tableA where column1 like '%#%A%'  escape  '#';

(1).表示查找字段column1中以 _A 开头的行;

(2).表示查找字段column1中包含 %A 的行。

结论:_ 和 % 均是通配符,如果不定义转义字符,% 可表示零或多个字符,_ 可表示一个字符;例如,'_a' 表示某字段中所有第二个字符是 a 的行,'%a%'  表示某字段中包含 a 的行

 

实践:在scott用户中新增一行含有特殊字符串ename


<span style="font-family: Tahoma; ">SQL> insert into emp(empno,ename) values(2233,'_SCOTT');</span>
已创建 1 行。


SQL> set pagesize 200 linesize 200
SQL> select * from emp where ename like '\_SCOTT%' escape '\';

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      2233 _SCOTT

SQL>



























































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值