如何将逗号分隔的字符串值转换为 MySQL 中的行?

Har*_*tel -2 mysql recursive-query

我在 MySQL 中有一列返回逗号分隔值,我想将该列转换为行。

更好的答案是如何将逗号分隔的参数转换为 mysql 中的行?

select value from table limit 1

回复

价值
本田,activa,快乐,汽车

我希望这个值像这样排列

价值
本田
激活
乐趣

Aki*_*ina 5

CREATE TABLE response (id INT, value TEXT)
SELECT 1 id, 'honda,activa,pleasure,car' value;
Run Code Online (Sandbox Code Playgroud)
SELECT response.id, jsontable.value
FROM response
CROSS JOIN JSON_TABLE(CONCAT('["', REPLACE(value, ',', '","'), '"]'),
                      '$[*]' COLUMNS (value TEXT PATH '$')) jsontable;
Run Code Online (Sandbox Code Playgroud)
ID 价值
1 本田
1 激活
1 乐趣
1

小提琴

附言。该查询假定该值不包含双引号。如果它们存在,则必须引用它们。请参阅https://dbfiddle.uk/HUmPZEo1