SQL问题,怎么把一行的数据转为多行

Oracle把A7列分成每有一个 , 分成一行数据,要分的那一列是A7,别的列原封不动复制

1623824748(1).png

奥奥奥 发布于 2021-6-16 14:03 (编辑于 2021-6-16 15:52)
1min目标场景问卷 立即参与
回答问题
悬赏:5 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
liu.yangLv2初级互助
发布于2021-6-16 14:13(编辑于 2021-6-16 15:22)

select t.*,       REGEXP_SUBSTR (A7, '[^,]+', 1,level)from ugstest.U_JDY_FORM_GYS tconnect by level <= regexp_count(A7,',') + 1

  • 奥奥奥 奥奥奥(提问者) 我库里不止这一列还有别的列,需要同时转换
    2021-06-16 14:16 
  • 奥奥奥 奥奥奥(提问者) 回复 liu.yang 你能帮我写下吗,有点看不太懂,我的表名是ugstest.U_JDY_FORM_GYS,要分的那一列是A7,别的列原封不动复制
    2021-06-16 14:48 
  • liu.yang liu.yang 回复 奥奥奥(提问者) select t.*, REGEXP_SUBSTR (A7, \'[^,]+\', 1,level) from ugstest.U_JDY_FORM_GYS t connect by level <= regexp_count(A7,\',\') + 1
    2021-06-16 15:22 
  • 奥奥奥 奥奥奥(提问者) 回复 liu.yang \\是不是有问题他说无效字符
    2021-06-16 15:28 
  • liu.yang liu.yang 回复 奥奥奥(提问者) 用我 上面的回答 \\ 是 页面这边自己带出来的 我上面的答案是没有 \\的
    2021-06-16 15:33 
最佳回答
0
hfjsiwbdhxLv5初级互助
发布于2021-6-16 14:11
  • 奥奥奥 奥奥奥(提问者) 我库里不止这一行还有别的列,需要同时转换
    2021-06-16 14:16 
最佳回答
0
奥奥奥Lv3见习互助
发布于2021-6-18 09:25

select distinct t.*,regexp_substr(a9, '[^,]+', 1, level) col from (select * from ugstest.U_JDY_FORM_GYS where flowstate = '1') t connect by level <= regexp_count(a9, '\,') + 1

  • 2关注人数
  • 724浏览人数
  • 最后回答于:2021-6-18 09:25
    请选择关闭问题的原因
    确定 取消
    返回顶部