在一个名为priceTables的表中,我正在一个名为value的列中存储一个JSON对象,它看起来类似于这样:
{ "price": { "values": { "tax": 1.59 } }}
并希望运行一个查询来迁移数以万计的记录,以将values的名称更改为breakdown。所以它会导致
{ "price": { "breakdown": { "tax": 1.59 } }}
关于Postgres查询实现这一点有什么建议吗?

最佳答案

这应该管用。

UPDATE priceTables
SET value = value || jsonb_build_object(
  'price',
  jsonb_build_object(
    'breakdown',
    priceTables.value #> '{price,values}'
  )
)
WHERE priceTables.value #> '{price,values}' IS NOT NULL;

关于sql - 如何更改存储在Postgres中的JSON对象中所有记录的键名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55419571/

10-12 22:47