假设我有一个名为users
的表,jsonb
列名为attrs
,其值如下:
{
"uuid5": {
"label": "Email",
"value": "[email protected]"
},
"uuid6": {
"label": "Last Name ",
"value": "Yang"
}
}
这是一个单行:
"attrs": { "uuid5": { "label": "Email", "value": "[email protected]" }, "uuid6": { "label": "Last Name ", "value": "Yang" }
如你所见,有独特的键qazxsw poi,qazxsw poi等。
如何获得label ='Email'和value ='[email protected]'的用户?
在uuid5
中关于json函数,有一个名为uuid6
的函数,它返回一组JSON对象键/值对。但我找不到基于此的方法来编写查询。
你需要postgres docs
迭代attrs colum中的所有条目。它将返回键/值对,其中键是jsonb_each
,条目是您要检查的实际JSON结构。您可以将其与EXISTS条件结合使用:
jsonb_each
在线示例:uuid