我的表中有一列包含JSONstatuses_json
:
{
"demoStatus" : "true",
"productionStatus": "false"
}
我想检索一个值,其中键像某个字符串。例如,如果我把";demo";,我想检索关键字demoStatus
的值。
现在我可以在传递准确的密钥时检索值:
`statuses_json->>'productionStatus' = 'false' `;
提取密钥并对其运行查询:
select *
from json_object_keys('{
"demoStatus" : "true",
"productionStatus": "false"
}') k where k like '%demo%';
我没有足够新的postgresql版本,但jsonb_path_query
看起来也很有趣。然后使用statuses_json->>(...)
来提取相应的值。
select statuses_json from your_table
where statuses_json->>(
select prop
from json_object_keys(statuses_json) as prop
where prop like 'demo%'
) = 'false';