如何用mysql将C列按照固定分隔符拆成多行

image.png

FineReport 帆软用户NViW0URbw7 发布于 2023-5-10 11:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-5-10 11:38(编辑于 2023-5-10 11:46)

类似这样:

select 

substring_index(

    substring_index(

      t.com,

      '/',

      b.help_topic_id + 1

    ),

    '/' ,- 1

  ) AS com_row,

t.myname

 from (

select 'f005/13466664685/f0006/3667477/f0008/3555' as com, '张三' as myname

union all

select '李明明/测试名称' as com, '李四' as myname

) t 

JOIN mysql.help_topic b ON b.help_topic_id < (

  length(t.com) - length(

    REPLACE (t.com, '/', '')) + 1)

image.png

  • 帆软用户NViW0URbw7 帆软用户NViW0URbw7(提问者) help_topic在帆软里用不了
    2023-05-10 11:39 
  • CD20160914 CD20160914 回复 帆软用户NViW0URbw7(提问者) 可以的呀。大哥。mysql自带这个表的!!!
    2023-05-10 11:41 
  • CD20160914 CD20160914 回复 帆软用户NViW0URbw7(提问者) 你改成你自己的符号斜杠就可以了。。
    2023-05-10 11:42 
  • CD20160914 CD20160914 回复 帆软用户NViW0URbw7(提问者) 上面更新了语句。截图也是在mysql里面操作的。是可以的。
    2023-05-10 11:46 
最佳回答
0
用户80532932Lv4见习互助
发布于2023-5-10 13:25

SELECT 

distinct t1.变更序列号

,REGEXP_SUBSTR(t1.变更序列号, '[^/]+', 1,level) as aa  

FROM table_name t1

connect by level <= length(t1.变更序列号)-length(REPLACE(t1.变更序列号,'/',''))+1

  • 3关注人数
  • 309浏览人数
  • 最后回答于:2023-5-10 13:25
    请选择关闭问题的原因
    确定 取消
    返回顶部