在MySQL中将逗号分隔的字符串拆分为行 [英] Split comma separated string into rows in mysql
本文介绍了在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屋!
查看全文