在oracle中实现截取带分隔符的字符串,例如我有一个字符串数据为: a,b,c,d 那么我需要的得到的数据是abcd类似这种形式
工具/原料
oracle,sqlplus
方法/步骤
1
首先看一下该方法,然后再来逐步分析该方法中的一些要点。
2
首相看到SQL的最里层是我们构造的数据,也就是select 'a;b;c;d;e' as agentskills from dual
3
用递归查询创建一个10条记录的SELECT LEVEL l FROM DUAL CONNECT BY LEVEL <= 10
4
利用之前的两个结果集创建笛卡尔积,并且对你要拆分的字符串前后也加上分隔符。
5
用regexp_replace函数将我们字符串的中内容去掉,只剩下分隔符(不含之前加上的前后的分隔符),用length算一下有几个分隔符,只有加1与我们之前造的递归去比,此目的是过滤掉多余的笛卡尔积的数据。
6
最有利用substr和instr配合着我们造的递归数据来取到字符串中的每一个值
上一篇:梦幻西游:神器任务之泪痕碗之念
下一篇:JS截取字符串