目标: 切割字符串完成列转行(一列转成多行)
要点: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