Oracle版本:11g R2
需求:
转自:http://www.ukettle.org/thread-22-1-1.html
SQL:
select a,regexp_substr(b,'[^,]',1,rownum) b
from b
connect by
rownum<=length(regexp_replace(b,'[^,]'))+1;
利用oracle中正则表达式函数regexp_substr
补充: 当字段a的为多个值时,例如 a
1
2
SQL:
select distinct a,regexp_substr(b,'[^,]',1,rownum) b
from b
connect by
rownum<=length(regexp_replace(b,'[^,]'))+1;
需求:
转自:http://www.ukettle.org/thread-22-1-1.html
SQL:
select a,regexp_substr(b,'[^,]',1,rownum) b
from b
connect by
rownum<=length(regexp_replace(b,'[^,]'))+1;
利用oracle中正则表达式函数regexp_substr
补充: 当字段a的为多个值时,例如 a
1
2
SQL:
select distinct a,regexp_substr(b,'[^,]',1,rownum) b
from b
connect by
rownum<=length(regexp_replace(b,'[^,]'))+1;
本文介绍如何使用 Oracle 11gR2 中的正则表达式函数 regexp_substr 来实现对包含多个值的字段进行拆分,通过 Connect By 子句结合 Rownum 控制循环次数,实现将单个字段中的多个值拆分为多行。
760

被折叠的 条评论
为什么被折叠?



