postgresql学习之路-json

孔光赫
2023-12-01

1、根据角码获取数组

    select '[{"a":"foo"},{"b":"bar"},{"c":"baz"}]'::json->2
    结果  {"c":"baz"}

2、根据key获取json值

select  '{"a": {"b":"foo"}}'::json->'a'
结果  {"b":"foo"}

3、多层纵深的查询

select  '{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}'
结果  3

pgsql第三个实例的支持多层纵深,并且支持角码和key。

select data::json#>'{content,pages,0,id}' from table
pgsql语句中的》和>区别
》获取到的结果集为文本
>获取到的结果集是对象


更多信息可以查询pgsql的官方文档
https://www.postgresql.org/docs/9.6/static/functions-json.html

 类似资料: