2011年5月4日 星期三

SQL : 一筆變多筆 by "Connect By"

select 'aaa,bbb,ccc' x,regexp_substr('aaa,bbb,ccc','[^,]+',1,level) reg
  from dual
 connect by regexp_substr('aaa,bbb,ccc','[^,]+',1,level) is not null

X              REG
aaa,bbb,ccc    aaa
aaa,bbb,ccc    bbb
aaa,bbb,ccc    ccc

=================================================================

select regexp_substr('a,b,c,d,e','[^,]+',1,level) str
  from dual
       connect by level <= (select regexp_count('a,b,c,d,e',',')+1 from dual)


STR
a
b
c
d
e

沒有留言:

張貼留言