如何从JSON_TABLE中选择JSON是平面数组?
以下是SQL,它在data
和flat
列中构建了一个包含一些JSON文本的表:
create table mytest (id int, data varchar(3276),
flat varchar(3000)
)
insert into mytest values(1, '{"a":[1,2,3]}', '[8,9,10]')
JSON_TABLE从包含JSON对象的列返回数组中的项:
select m.id, jt.*
from mytest m, JSON_TABLE(m.data, '$.a[*]' COLUMNS (
val int path '$'
)) jt
但是,当我对包含JSON平面数组的列运行类似的查询时,我没有得到任何行:
select m.id, jt.*
from mytest m, JSON_TABLE(m.flat, '$.[*]' COLUMNS (
val int path '$'
)) jt
删除路径上的.
。。。是'$[*]'
而不是'$.[*]'
select m.id, jt.*
from mytest m, JSON_TABLE(m.flat, '$[*]' COLUMNS (
val int path '$'
)) jt