首页 > 解决方案 > Mysql逗号分隔到json-array

问题描述

我在数据库中有一些以逗号分隔的字段,例如:a,b,c,d,e

我想将它们转换为:

["a","b","c","d","e"]

我知道如何用 nodejs / 任何其他语言来做,但我需要直接在 mysql 上做
可能吗?谢谢

标签: mysqlsqlarraysjsonstring

解决方案


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

select concat('["', replace(col, ',', '","'), '"]') js from mytable

基本上这会将字符串'a,b,c,d,e'转换为'["a","b","c","d","e"]'- 如果您在其上使用 JSON 函数,MySQL 会很乐意将其理解为 JSON。

请注意,这仅适用于您的 CSV 元素不包含嵌入的双引号。


推荐阅读