日期:2014-05-17  浏览次数:20803 次

怎样在ORACLE中将一个字段中的字符查询处理展示的时候分成多行
有一个表,比如有两个字段,一个为姓名一个为号码,但是号码字段中包含了好多号码,中间用逗号隔开,而且号码的长度不一致。
比如:张三 123456,125687,7925875674 。我想把它变成好几行的形式:
   张三 123456
   张三 125687
   张三 7925875674
 这个怎样弄呢?

------解决方案--------------------
with t1 as
(
     select 'a,b,c' c1 from dual
)
 
select distinct regexp_substr(c1, '[^,]+',1,level) c1
from t1
connect by level <= length(c1) - length(replace(c1,',','')) + 1;