Oracle拆分字符串为多行

select

aaa','bbb','ccc','ddd  字段

from 表

oracle中怎么将上方字段拆分多行

图片.png



最终结果图片.png







我啥都不会 发布于 2020-12-31 10:35 (编辑于 2020-12-31 10:55)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
指间沙Lv6中级互助
发布于2020-12-31 10:56

https://www.cnblogs.com/cczz_11/p/3413679.html

参考这个,先将'都替换掉。

  • 我啥都不会 我啥都不会(提问者) 最终加载很慢
    2020-12-31 11:16 
  • 指间沙 指间沙 回复 我啥都不会(提问者) 那没办法,,因为你这个东西是要拆,要计算,数据量大肯定的,可以试着优化下sql,过滤一下。
    2020-12-31 11:32 
  • 我啥都不会 我啥都不会(提问者) 可是就三十条数据啊,只有2-3个字段要拆分
    2020-12-31 11:36 
  • 指间沙 指间沙 回复 我啥都不会(提问者) 乘法了就。
    2020-12-31 11:39 
  • 指间沙 指间沙 回复 我啥都不会(提问者) 要嘛就用存储,或者函数吧。
    2020-12-31 11:40 
最佳回答
0
丶尛伟Lv6初级互助
发布于2020-12-31 10:39

select aaa from 表

union all 

select bbb from 表


我能想到的是这样的

最佳回答
0
18381045859Lv2见习互助
发布于2020-12-31 10:42

没看懂你的问题是想要表达什么意思呢

最佳回答
0
ScyalcireLv7中级互助
发布于2020-12-31 10:48(编辑于 2020-12-31 10:56)

image.png

image.png

SELECT 

    REGEXP_SUBSTR (REPLACE(ID, '''', ''), '[^,]+', 1, LEVEL) 

FROM
    WLCS CONNECT BY LEVEL <= LENGTH (ID) - LENGTH (REPLACE(ID, ',', '')) + 1


  • 6关注人数
  • 709浏览人数
  • 最后回答于:2020-12-31 10:56
    请选择关闭问题的原因
    确定 取消
    返回顶部