gpt4 book ai didi

json - 如何在 postgresql 中使用父对象更新 JSONB 对象

转载 作者:行者123 更新时间:2023-11-29 12:17:09 25 4
gpt4 key购买 nike

我有一个数据库,其表 foo 包含一个列 id 和一个包含以下数据的列 data:

{
"startDate":"2017-07-04",
"endDate":"2017-07-10",
"notDelegated":false,
"sold":false,
"disableRanking":false,
"type":"PERIOD"
}

我想用父 rangeData 更新此数据并提取 type 属性,如下所示:

{
"rangeData": {
"startDate":"2017-07-04",
"endDate":"2017-07-10",
"notDelegated":false,
"sold":false,
"disableRanking":false
},
"type":"PERIOD"
}

我用 JSON 运算符尝试了很多事情都是徒劳的。

感谢您的回答。

最佳答案

使用函数jsonb_build_object()和删除运算符:

update foo
set data = jsonb_build_object('rangeData', data- 'type', 'type', data->'type');

在上面的函数调用中,您创建了一个包含两个元素的 json 对象:

key          value
-------------------------
'rangeData' data- 'type' json object 'data' from which the key 'type' was removed
'type' data->'type' value of 'type' element of json object 'data'

SqlFiddle

关于json - 如何在 postgresql 中使用父对象更新 JSONB 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47270985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com