验证数据库是否支持半结构化JSON数据的计算,包括 JOSN数据的查找元素操作,JSON数据库的包含运算操作,JSON数据的计算元素个数操作
- 创建JSON数据表;
create table test (id int ,info json);
insert into test select 1,'[{"a":"foo"},{"b":"bar"},{"c":"baz"}]';
insert into test select 2, '{"a":"1", "b":"2"}';
- JSON数据元素查找;
SELECT info->0, info FROM test where id =1;
SELECT info->'a', info FROM test where id =2;
SELECT info->0->'a', info FROM test where id=1 ;
- JSON数据包含运算;
select info::jsonb @>'{"a":"1"}'::jsonb,info from test ;
SELECT id , info ,info->'a' FROM test where info::jsonb @>'{"b":"2"}'::jsonb;
- JSON数据元素个数
select json_array_length(info) from test where id = 1;