gpt4 book ai didi

mysql - 在 MySQL 中字符串化一个 JSON 数组

转载 作者:行者123 更新时间:2023-12-05 03:01:20 26 4
gpt4 key购买 nike

我在表中有一个 JSON 列。 IE表格

    column
---------------
[2,5,7,21,1,54,12]

现在是下面查询的返回数组。

select column from table

输出 => [2,5,7,21,1,54,12]

我想要的是输出为“2,5,7,21,1,54,12”。

有什么建议吗?

最佳答案

下面是查询 JSON 数组的示例:

select data from t;
+--------------------------+
| data |
+--------------------------+
| [2, 5, 7, 21, 1, 54, 12] |
+--------------------------+

您可以使用 JSON_UNQUOTE() 将 JSON 数组转换为字符串.但它用方括号和空格格式化字符串:

select json_unquote(data) as stringified from t;
+--------------------------+
| stringified |
+--------------------------+
| [2, 5, 7, 21, 1, 54, 12] |
+--------------------------+

您可以使用 REPLACE() 删除那些不需要的字符:

select replace(replace(replace(json_unquote(data), ' ', ''), '[', ''), ']', '') as stringified from t;
+------------------+
| stringified |
+------------------+
| 2,5,7,21,1,54,12 |
+------------------+

在 MySQL 8.0 中,您可以一次调用 REGEXP_REPLACE() 来替换字符:

select regexp_replace(json_unquote(data), '[\\[\\] ]', '') as stringified from t;
+------------------+
| stringified |
+------------------+
| 2,5,7,21,1,54,12 |
+------------------+

关于mysql - 在 MySQL 中字符串化一个 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55880575/

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