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配合着我们造的递归数据来取到字符串中的每一个值