Oracle中的通配符

这是scott用户下的EMP表

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7369SMITHCLERK79021980/12/17800 20
7499ALLENSALESMAN76981981/2/20160030030
7521WARDSALESMAN76981981/2/22125050030
7566JONESMANAGER78391981/4/22975 20
7654MARTINSALESMAN76981981/9/281250140030
7698BLAKEMANAGER78391981/5/12850 30
7782CLARKMANAGER78391981/6/92450 10
7788SCOTTANALYST75661987/4/193000 20
7839KINGPRESIDENT1981/11/175000 10
7844TURNERSALESMAN76981981/9/81500030
7876ADAMSCLERK77881987/5/231100 20
7900JAMESCLERK76981981/12/3950 30
7902FORDANALYST75661981/12/33000 20
7934MILLERCLERK77821982/1/231300 10

"_"通配符(通配符代表一个字符)

--单个字符
select * from emp where JOB LIKE 'CL_RK' 

输出结果:

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7369SMITHCLERK79021980/12/17800 20
7876ADAMSCLERK77881987/5/231100 20
7900JAMESCLERK76981981/12/3950 30
7934MILLERCLERK77821982/1/231300 10

 

"%"通配符(代表多个字符)

--多个字符
select * from emp where JOB LIKE 'MAN%' 

输出结果:

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7566JONESMANAGER78391981/4/22975 20
7698BLAKEMANAGER78391981/5/12850 30
7782CLARKMANAGER78391981/6/92450 10

 

“[]”通配符(方括号范围内的单个字符)

下面使用了正则表达式“^”(匹配输入字符串输入的开始位置)

--查询出姓名以S或者A开头的记录
select
* from emp where REGEXP_LIKE(ENAME,'^[SA]')

输出结果:

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7369SMITHCLERK79021980/12/17800 20
7499ALLENSALESMAN76981981/2/20160030030
7788SCOTTANALYST75661987/4/193000 20
7876ADAMSCLERK77881987/5/231100 20

"[^]"通配符(不等于方括号内的字符)

例如:查找出姓名补位S,A开头的记录

select * from emp where REGEXP_LIKE(ENAME,'^[^SA]')

输出结果如下:

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7521WARDSALESMAN76981981/2/22125050030
7566JONESMANAGER78391981/4/22975 20
7654MARTINSALESMAN76981981/9/281250140030
7698BLAKEMANAGER78391981/5/12850 30
7782CLARKMANAGER78391981/6/92450 10
7839KINGPRESIDENT1981/11/175000 10
7844TURNERSALESMAN76981981/9/81500030
7900JAMESCLERK76981981/12/3950 30
7902FORDANALYST75661981/12/33000 20
7934MILLERCLERK77821982/1/231300 10

转载于:https://www.cnblogs.com/OliverQin/p/5060727.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值