create table test
add column data jsonb;
insert into test values
(
'[{
"name": "Alexa",
"age": "20"
},
{
"name": "Siri",
"age": "42"
}]'
);
表資料如下所示:
資料 <------ 列名
[{“名稱”:“Alexa”,“年齡”:“20”},{“名稱”:“Siri”,“年齡”:“42”}]
我熟悉如何更新 json 資料,這里我想從陣列中獲取 json 資料并進行更改。我想將第一個 json 物件“Alexa”的“名稱”屬性更改為“Cortana”,postgres 可以這樣做嗎?PS這不是我將懷疑分解為簡單問題的實際資料。
uj5u.com熱心網友回復:
您可以使用該jsonb_set函式回傳一個 JSON 物件,其中部分替換為新值
UPDATE test
SET data = jsonb_set(data, '{0,name}', '"Cortana"', true)
uj5u.com熱心網友回復:
希望以下命令也有效。
update test set data = data - 0
|| jsonb_build_object('name','Cortana', 'age', '20') returning *;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/441830.html
標籤:sql json PostgreSQL
上一篇:僅對PARTITIONBY/GROUPBY進行分組,直到下一節才能獲得節串列
下一篇:找到X的直接上和下
