oracle中如何模糊匹配,oracle中的截取,模糊匹配小结

截取:

1,去掉最后一个字符

>>>>>>>>>>>>>>>>substr截取<<<<<<<<<<<<<<<<<<<<<<

select substr('abcd',0,length('abcd')-1) from dual;

结果:abc

substr的语法说明:substr('要截取的字段',开始位置,长度)

>>>>>>>>>>>>>>>>trim截取<<<<<<<<<<<<<<<<<<<<<<

select trim('d' from 'abcd') "test_trim" from dual;

结果:abc

trim的语法说明:trim('要截取的字符(有且只有一个)' from '字段'),如果是trim(both '要截取的字符(有且只有一个)' from '字段')那就是只要出现该字符,统统截取掉!

>>>>>>>>>>>>>>>>regexp_replace截取<<<<<<<<<<<<<<<<<<<<<<

select regexp_replace('abcd','A','',1,1,'i') from dual;

结果:bcd

regexp_replace语法说明:regexp_replace('要截取的字段','截取的字符','替换成什么','开始位置(默认从1开始)','替换的次数(0是无限次)','i不区分大小写')

Tips:比较substr和trim

1,substr可以截取任意长度,trim只能截取一个字符

2,trim可以多次截取,substr只能单一截取

3,regexp_replace可以多次替换还不区分大小写

===============================================华丽的分隔符=================================================================

模糊匹配:

2,模糊匹配

>>>>>>>>>>>>>>>>>>>>>>>>>like匹配<<<<<<<<<<<<<<<<<<<<<<<

select * from lidw where prov like '%河北%'

>>>>>>>>>>>>>>>>>>>>>>>>>instr匹配<<<<<<<<<<<<<<<<<<<<<<<

select * from lidw where instr(prov,'河北')>0

instr语法说明:instr('要匹配的字段','匹配的字符') ,长度大于0表示匹配到了该字符,这是instr的一个延伸的用法:

博客园的介绍:点击打开链接

>>>>>>>>>>>>>>>>>>>>>>>>>instr匹配<<<<<<<<<<<<<<<<<<<<<<<

select * from lidw where regexp_like(prov,'河北','i')

regexp_like语法说明:regexp_like('要匹配的字段','匹配的字符','i不区分大小写')

另一篇的专门介绍:点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值