在MySQL中将逗号分隔的字符串拆分为行

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

Ids

1

2

3

是否可以通过sql查询?

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

回答:

使用任意数字的子查询来分割您的字符串。您可以使用‘1,2,3’代替vals。

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中将逗号分隔的字符串拆分为行 的全部内容, 来源链接: utcz.com/qa/433496.html

回到顶部