oracle 切割字符按串完成列转行

目标: 切割字符串完成列转行(一列转成多行)
要点:regexp_substr 函数,connect by 子句,LEVEL 伪列
说明:加入伪列是为了说明 level 在语句中充当的责任。学过java或者C语言的可以认为level就是,i =1,i++。

方法一

select regexp_substr('110,112,113,114','[^,]+',1,LEVEL),LEVEL from dual CONNECT BY  LEVEL <5 ;

结果:

110 1
112 2
113 3
114 4

方法二

SELECT regexp_substr('110,112,113,114','[^,]+',1,LEVEL),LEVEL FROM dual 
CONNECT BY regexp_substr('110,112,113,114','[^,]+',1,LEVEL) IS NOT NULL;

结果

110 1
112 2
113 3
114 4

你可能感兴趣的:(oracle)