你可以这样做json_extract()
:
select group_concat(json_extract(col2, '$.value'), ', ') result
from tablename
结果:
> result
> -------------------------------------
> value1, value2, value3, value4, value5
或者,如果您希望将结果格式化为 json 数组,请使用json_group_array()
:
select replace(json_group_array(json_extract(col2, '$.value')), ', ', '","') result
from tablename
结果:
> | result |
> | :--------------------------------------------- |
> | ["value1","value2","value3","value4","value5"] |
如果您不能使用JSON1 扩展,那么您可以使用字符串函数:
select group_concat(substr(
col2,
instr(col2, '"value":"') + length('"value":"'),
length(col2) - (instr(col2, '"value":"') + length('"value":"') + 1)
), ', ') result
from tablename
结果:
> result
> -------------------------------------
> value1, value2, value3, value4, value5
请参阅演示。