[ {"key": "unit_type","value": "tablet","display_name": "Unit Type"},{"key": "pack_type","value": "Packet","display_name": "Pack Type"},{"key": "units_in_pack","value": "60","display_name": "Units in Pack"},{"key": "item_unit","value": "","display_name": "Item unit"},{"key": "item_size","value": "1","display_name": "Item Size"},{"key": "details","display_name": "Details"},{"key": "slug","value": "otc7087","display_name": "Slug"}]@H_404_7@我想从数组中获取一个名为slug的键的值字段,这样当我对表执行select查询时,我会从列中获取此特定值.对于上面的行,当我从表中选择名称,slug,price时,我应该得到med1,otc7087,100作为输出.我无法为此事构建查询.我可以获取所有键或所有值,但如何在同一个选择查询中选择特定键? @H_404_7@或者我只是如何选择表格中的slu ???那会回答.解决方法 我相信你的Json更有条理,
只需尝试Jsonb_to_recordset @H_404_7@ @H_404_7@对于前: @H_404_7@
select * from Json_to_recordset('[ {"key": "unit_type","display_name": "Slug"}]') as x(key int,value text,display_name text);@H_404_7@它会将Jsonb转换为带有key,value,display_name作为列的表,然后你可以触发任何类型的查询,它也适用于提取键,而@Craig Ringer建议你不能将它转换成表喜欢的事情和解雇复杂的选择查询,如不在,!=,范围查询,ilike将是非常困难,可能性能较差. 总结
以上是内存溢出为你收集整理的postgresql – 如何在Postgres中仅从jsonb类型中选择特定键的值全部内容,希望文章能够帮你解决postgresql – 如何在Postgres中仅从jsonb类型中选择特定键的值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)