在JSON列中查询数组的元素

最近升级到使用PostgreSQL 9.3.1来利用JSON功能。在我的表中,我有一个json类型列,其结构如下:

{

"id": "123",

"name": "foo",

"emails":[

{

"id": "123",

"address": "somethinghere"

},

{

"id": "456",

"address": "soemthing"

}

]

}

就问题而言,这只是伪数据。

是否可以根据id在emails数组中查询特定项目?

差不多:“返回电子邮件,其中id = 123)”?

回答:

是的,这是可能的:

SELECT *

FROM tbl t, json_array_elements(t.json_col->'emails') AS elem

WHERE elem->>'id' = 123;

tbl是您的表名,json_col是JSON列的名称。

以上是 在JSON列中查询数组的元素 的全部内容, 来源链接: utcz.com/qa/419647.html

回到顶部