select '网站,短信,广告' from dual这种查询出来就是 网站,短信,广告
能不能把结果集变成
网站
短信
广告 三列呢?可能 select '网站,短信,广告' from dual 会变化 需要把 '网站,短信,广告' 看成一个变量。
求实现方案,谢谢
能不能把结果集变成
网站
短信
广告 三列呢?可能 select '网站,短信,广告' from dual 会变化 需要把 '网站,短信,广告' 看成一个变量。
求实现方案,谢谢
--10g以上,使用正则表达式
SQL> with t as(
2 select '网站,短信,广告信息' ad from dual)
3 select regexp_substr(ad,'[^,]+',1,level) ad
4 from t
5 connect by
6 level<=length(ad)-length(replace(ad,',',''))+1
7 /
AD
--------------------
网站
短信
广告信息
--10以下也使用
SQL> with t as(
2 select '网站,短信,广告' s from dual)
3 select substr(s,
4 instr(s,',',1,level)+1,
5 instr(s,',',1,level+1)-
6 instr(s,',',1,level)-1) str
7 from (select ','||s||',' s from t)
8 connect by level
9 <length(s)-length(replace(s,','))
10 /
STR
--------------------
网站
短信
广告