在MySQL中将逗号分隔的字符串拆分为行 [英] Split comma separated string into rows in mysql

查看:6654
本文介绍了在MySQL中将逗号分隔的字符串拆分为行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我有1、2、3等字符串列表时... 我想将其用作一列

When I have string list like 1, 2, 3... I'd like to use this as one column

Ids
1
2
3

是否可以通过sql查询?

Is it possible by sql query?

ex)SELECT Ids from (1, 2, 3...)<-我知道这不起作用.

ex) SELECT Ids from (1, 2, 3...) <- I know this is not working.

推荐答案

使用任意数字的子查询来拆分字符串.您可以使用'1,2,3'代替vals.

Use a subquery of arbitrary digits to split your string.Instead of vals you can use '1,2,3'.

SELECT
  DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(vals, ',', n.digit+1), ',', -1) val
FROM
  tt1
  INNER JOIN
  (SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3  UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) n
  ON LENGTH(REPLACE(vals, ',' , '')) <= LENGTH(vals)-n.digit;

看到它的正常运行

这篇关于在MySQL中将逗号分隔的字符串拆分为行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆