我有一个json列与此格式和如何修改元素从postgres jsonb的关键?
{
"Content": {
"CustomerInfo": {
},
"Identifier": null,
"Operating": {
"Identifier": "ABC-8585",
"TypeIdentifier": "VAL_OP",
"SaleIdentifier": "01000042"
},
},
}
如何从标识符密钥中删除“ABC-”?
结果:
{
"Content": {
"CustomerInfo": {
},
"Identifier": null,
"Operating": {
"Identifier": "8585",
"TypeIdentifier": "VAL_OP",
"SaleIdentifier": "01000042"
},
},
}
下面是我用来更新json值的查询,但它不起作用。
update "tbleName" set "columnName" = replace('Content.Operating.Identifier','ABC-','')::jsonb ? 'Content.Operating.Identifier'
1条答案
按热度按时间hpxqektj1#
您可以通过使用
jsonb_set
、常规JSON阅读操作符和replace
的组合来实现这一点:在这里,您可以按以下方式计算列的新值:
1.读取所需嵌套JSON关键字的值
1.进行替换
1.将结果写回原始JSON结构中的同一嵌套JSON键