oracle_正则表达式

本文详细介绍了正则表达式在Oracle数据库中的应用,包括基本的正则表达式语法和扩展功能,如使用regexp_like进行字符串匹配和使用regexp_replace进行字符串替换。通过具体示例展示了如何在SQL查询中利用正则表达式进行复杂的数据筛选和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式函数 (10g引入)


基本
^ $ ^$
. a* .*
[a-z] [A-Z] [a-Z] [0-9]
[abc] [^abc] ^[abc] ^[^abc]

[a^bc]

\< \>

拓展
() | {} + ?

[:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:],
[:lower:], [:print:], [:punct:], [:space:], [:upper:],
and [:xdigit:].




regexp_like('S','RE','O')
S 被搜索的字符串或者列表达式
RE 正则内容
O 参数(可选)
idle> select ename from emp where regexp_like(ename,'S');

ENAME
----------
SMITH
JONES
SCOTT
ADAMS
JAMES

idle> select ename from emp where regexp_like(ename,'^S.*T');

ENAME
----------
SMITH
SCOTT

idle>

idle> idle> select ename from emp where regexp_like(ename,'^s.*T$','i');忽略大小写

ENAME
----------
SCOTT

idle>


regexp_replace(S,'RE','NEW')
idle> select ename,regexp_replace(ename,'S..T','=') aaa from emp where regexp_like (ename,'S..T');

ENAME AAA
---------- ----------
SMITH =H
SCOTT =T

idle>

regexp_replace(S,'RE','NEW')
idle> select ename,regexp_replace(ename,'S.*T','=') aaa from emp where regexp_like (ename,'S.*T');

ENAME AAA
---------- ----------
SMITH =H
SCOTT =

idle>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值