您的位置:首页 > 数据库 > Oracle

Oracle中的通配符

2015-12-20 13:27 344 查看
这是scott用户下的EMP表

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7369SMITHCLERK79021980/12/1780020
7499ALLENSALESMAN76981981/2/20160030030
7521WARDSALESMAN76981981/2/22125050030
7566JONESMANAGER78391981/4/2297520
7654MARTINSALESMAN76981981/9/281250140030
7698BLAKEMANAGER78391981/5/1285030
7782CLARKMANAGER78391981/6/9245010
7788SCOTTANALYST75661987/4/19300020
7839KINGPRESIDENT1981/11/17500010
7844TURNERSALESMAN76981981/9/81500030
7876ADAMSCLERK77881987/5/23110020
7900JAMESCLERK76981981/12/395030
7902FORDANALYST75661981/12/3300020
7934MILLERCLERK77821982/1/23130010
"_"通配符(通配符代表一个字符)

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


输出结果:

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7369SMITHCLERK79021980/12/1780020
7876ADAMSCLERK77881987/5/23110020
7900JAMESCLERK76981981/12/395030
7934MILLERCLERK77821982/1/23130010
"%"通配符(代表多个字符)

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


输出结果:

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7566JONESMANAGER78391981/4/2297520
7698BLAKEMANAGER78391981/5/1285030
7782CLARKMANAGER78391981/6/9245010
“[]”通配符(方括号范围内的单个字符)

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

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


输出结果:

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7369SMITHCLERK79021980/12/1780020
7499ALLENSALESMAN76981981/2/20160030030
7788SCOTTANALYST75661987/4/19300020
7876ADAMSCLERK77881987/5/23110020
"[^]"通配符(不等于方括号内的字符)

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

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


输出结果如下:

EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
7521WARDSALESMAN76981981/2/22125050030
7566JONESMANAGER78391981/4/2297520
7654MARTINSALESMAN76981981/9/281250140030
7698BLAKEMANAGER78391981/5/1285030
7782CLARKMANAGER78391981/6/9245010
7839KINGPRESIDENT1981/11/17500010
7844TURNERSALESMAN76981981/9/81500030
7900JAMESCLERK76981981/12/395030
7902FORDANALYST75661981/12/3300020
7934MILLERCLERK77821982/1/23130010
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: