SQL将值拆分为多行

SQL将值拆分为多行,第1张

SQL将值拆分为多行

如果可以创建一个数字表,其中包含从1到要拆分的最大字段的数字,则可以使用以下解决方案

select  tablename.id,  SUBSTRING_INDEX(SUBSTRING_INDEX(tablename.name, ',', numbers.n), ',', -1) namefrom  numbers inner join tablename  on CHAR_LENGTH(tablename.name)     -CHAR_LENGTH(REPLACe(tablename.name, ',', ''))>=numbers.n-1order by  id, n

请看这里的小提琴

如果无法创建表,则解决方案可以是:

select  tablename.id,  SUBSTRING_INDEX(SUBSTRING_INDEX(tablename.name, ',', numbers.n), ',', -1) namefrom  (select 1 n union all   select 2 union all select 3 union all   select 4 union all select 5) numbers INNER JOIN tablename  on CHAR_LENGTH(tablename.name)     -CHAR_LENGTH(REPLACE(tablename.name, ',', ''))>=numbers.n-1order by  id, n

这里有个小提琴例子。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4901063.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存