1、JSON数组为常量
select * from jsonb_array_elements(‘[1, true, null, “str\ttest”, [1,2,3], {“name1”:“aaa\ttest”,“name2”:“bbb\ttest”}]’);
–执行:
SQL> select * from jsonb_array_elements(‘[1, true, null, “str\ttest”, [1,2,3], {“name1”:“aaa\ttest”,“name2”:“bbb\ttest”}]’);
LINEID VALUE
1 1
2 true
3 null
4 “str\ttest”
5 [1,2,3]
6 {“name1”:“aaa\ttest”,“name2”:“bbb\ttest”}
2、将表中某一列的JSON数组,转化为JSON值的集合
create table test (c1 varchar);
insert into test values(‘[1, true, null, “str\ttest”, [1,2,3], {“name1”:“aaa\ttest”,“name2”:“bbb\ttest”}]’);
commit;
–报错:无法解析的成员访问表达式[JSONB_ARRAY_ELEMENTS]
select jsonb_array_elements(c1) from test ;
–正确的写法
select b.* from test,jsonb_array_elements(c1)b
SQL> select b.* from test,jsonb_array_elements(c1)b;
LINEID VALUE
1 1
2 true
3 null
4 “str\ttest”
5 [1,2,3]
6 {“name1”:“aaa\ttest”,“name2”:“bbb\ttest”}
总结:达梦的jsonb_array_elements只能出现在from项中,不能作为查询项。
文章
阅读量
获赞