Oracle 截取、查找字符函数(持续更新)

整理一些常用的截取、查找字符函数:

1、查找某一个字符串中某一个字符(串)出现的次数

SELECT LENGTH(REGEXP_REPLACE(REPLACE('anne<br>lily<br>jane', '<br>', '@'),  '[^@]+',  '')) COUNT FROM DUAL; --返回2

2、判断某个字符是否在源字符串出现过
select instr('anne<br>lily<br>jane','<br>',1) from dual --返回5

3、当某个字符在源字符串中出现多次时,去掉最后一个(前提是该重复字符在源字符串最后一定会出现)
SELECT SUBSTR('anne<br>lily<br>jane<br>',1,(LENGTH('anne<br>lily<br>jane<br>')-LENGTH('<br>'))) FROM dual --返回anne<br>lily<br>jane

4、当某个特殊符号在源字符串中出现多次,只截取第一次出现位置后面多少位
select substr('adssf.anne.aaaa',1,instr('adssf.anne.aaaa','.',1)+3) from dual --返回adssf.ann

select substr('asdfANNE-asdfe-123456'
,instr('asdfANNE-asdfe-123456','-',1)+1
,length('asdfANNE-asdfe-123456')-instr('asdfANNE-asdfe-123456','-',1)+1
) from dual --返回asdfe-123456

 

如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]

如果您想转载本博客,请注明出处

如果您对本文有意见或者建议,欢迎留言

感谢您的阅读,请关注我的后续博客

上一篇:MySQL数据库进阶实战


下一篇:《架构师》反思:软件架构设计