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不区分大小写')

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

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页