我有一个MySQL JSON列,其中包含以下值:
[33173,33386,24272,33499,33526,33347]
使用JSON函数,是否可以将数组中的每个值转换为字符串?结果将是:
["33173","33386","24272","33499","33526","33347"]
我不想求助于肮脏的REPLACE()
通电话.
我有一个MySQL JSON列,其中包含以下值:
[33173,33386,24272,33499,33526,33347]
使用JSON函数,是否可以将数组中的每个值转换为字符串?结果将是:
["33173","33386","24272","33499","33526","33347"]
我不想求助于肮脏的REPLACE()
通电话.
如果使用MySQL 8.0,可以使用JSON_TABLE() function将数组分解为行,然后将它们转换为CHAR(),然后使用JSON_ARRAYAGG()将这些行重新分解为JSONarray.
set @j = '[33173,33386,24272,33499,33526,33347]';
select json_arrayagg(cast(i as char(5))) as j
from json_table(@j, '$[*]' columns (i int path '$')) j;
输出:
+--------------------------------------------------------+
| j |
+--------------------------------------------------------+
| ["33173", "33386", "24272", "33499", "33526", "33347"] |
+--------------------------------------------------------+