正常Json数组是存放多个数据的,如果需要拆分开来使用,可以用如下公式
SELECT
*
FROM
pas_func_v2,
JSON_TABLE ( func_atom, "$[*]" COLUMNS ( new_atom TEXT PATH '$' ) ) AS f_list
可将func_atom 单元格内的内容拆分为每一行,并重新命名为new_atom
如果拆分中有空值,需要做进一步处理
SELECT
*
FROM
pas_func_v2,
JSON_TABLE ( IFNULL( func_atom, 'null' ), '$' COLUMNS ( NESTED PATH '$[*]' COLUMNS ( new_atom VARCHAR ( 36 ) PATH '$' ) ) ) f_list
此外 JSON_TABLE 还可以和JSON_EXTRACT 组合使用,达到提取其中固定关键字的数组
JSON_TABLE( JSON_EXTRACT( pas_rel, '$.edit' ), "$[*]" COLUMNS ( newuid CHAR ( 22 ) PATH '$' ) ) as t1