Postgres jsonb select 特定数组字段
Postgres jsob select specific array fields
我有 postgreSQl 10.2 table "snapshots",jsonb 列名为 "data"
{
"entries": [
{
"userName": "John",
"age": "15"
},
{
"userName": "Max",
"age": "42"
}]
{
只需要查询 select 数组条目中的用户名。
我试过这个
select data->'entries'->>'userName' from snapshots;
当然它没有返回我需要的值。
使用横向连接中使用的函数 jsonb_array_elements()
取消嵌套 json 数组:
select item->>'userName'
from snapshots
cross join jsonb_array_elements(data->'entries') as item
我有 postgreSQl 10.2 table "snapshots",jsonb 列名为 "data"
{
"entries": [
{
"userName": "John",
"age": "15"
},
{
"userName": "Max",
"age": "42"
}]
{
只需要查询 select 数组条目中的用户名。 我试过这个
select data->'entries'->>'userName' from snapshots;
当然它没有返回我需要的值。
使用横向连接中使用的函数 jsonb_array_elements()
取消嵌套 json 数组:
select item->>'userName'
from snapshots
cross join jsonb_array_elements(data->'entries') as item