gpt4 book ai didi

mysql - 将逗号分隔的字符串迁移到 json 数组

转载 作者:行者123 更新时间:2023-12-04 01:35:57 25 4
gpt4 key购买 nike

我有一个旧数据库,其中一些列有逗号分隔的字符串,像这样存储 technician,director,website Designer

我想将它们转换为 JSON 数组,这样我就可以使用 MySQL JSON 数组类型和与之关联的方法。
所以基本上我正在寻找一种在 SQL 中将 technician,director,website Designer 转换为 ["technician","director","website Designer"] 的方法。

列表的长度是任意的。我遇到的最大困难是如何在逗号分隔的字符串中的每个元素上应用 SQL 函数(例如,我可以在每个元素上运行 JSON_QUOTE() ),因为添加括号只是一个简单的CONCAT

解决方案应该是 MySQL 5.7。

最佳答案

您可以使用 REPLACE 来获取预期的字符串:

SELECT CONCAT('["', REPLACE('technician,director,website designer', ',', '","'), '"]')
-- ["technician","director","website designer"]

使用 JSON_VALID您可以检查转换的结果是否为有效的 JSON 值:

SELECT JSON_VALID(CONCAT('["', REPLACE('technician,director,website designer', ',', '","'), '"]'))
-- 1

demo on dbfiddle.uk

关于mysql - 将逗号分隔的字符串迁移到 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59576757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com