Mysql逗号分隔为json数组

Mysql逗号分隔为json数组,mysql,sql,arrays,json,string,Mysql,Sql,Arrays,Json,String,我在数据库中有一些字段是逗号选择的,比如:a、b、c、d、e 我想把它们转换成: ["a","b","c","d","e"] 我知道如何用nodejs/任何其他语言来做,但我需要直接在mysql上做 可能的 谢谢最简单的方法可能是只使用字符串函数: select concat('["', replace(col, ',', '","'), '"]') js

我在数据库中有一些字段是逗号选择的,比如:
a、b、c、d、e

我想把它们转换成:

["a","b","c","d","e"]
我知道如何用nodejs/任何其他语言来做,但我需要直接在mysql上做
可能的
谢谢

最简单的方法可能是只使用字符串函数:

select concat('["', replace(col, ',', '","'), '"]') js from mytable
基本上,这会将字符串
'a、b、c、d、e'
转换为
'[“a”、“b”、“c”、“d”、“e”]
——如果您在其上使用JSON函数,MySQL会很高兴地将其理解为JSON


请注意,这仅在CSV元素不包含嵌入双引号的情况下有效。

最简单的方法可能是仅使用字符串函数:

select concat('["', replace(col, ',', '","'), '"]') js from mytable
基本上,这会将字符串
'a、b、c、d、e'
转换为
'[“a”、“b”、“c”、“d”、“e”]
——如果您在其上使用JSON函数,MySQL会很高兴地将其理解为JSON


请注意,这只在CSV元素不包含嵌入双引号的情况下才有效。

您成为其中一个的受害者,其中最著名的是“永远不要卷入亚洲的陆地战争”,但不太为人所知的是:“永远不要将CSV值放在表列中!”您成为其中一个问题的受害者,其中最著名的一个问题是“永远不要卷入亚洲的陆地战争”,但不太为人所知的是:“永远不要将csv值放在表格列中!”这只适用于CSV元素不包含嵌入双引号的情况,在这种情况下嵌套替换将有帮助。这只适用于CSV元素不包含嵌入双引号的情况,在这种情况下嵌套替换将有帮助。