在 postgresql 中,我有一個表,其中有一列名為 json 型別的源。
源包含如下 Json。我需要選擇源列,但輸出應產生如下結果
輸入
{
"filters": {
"operator": "EQ",
"value": "name",
"type": "string"
}
}
輸出
{
"filters": {
"operator": "EQ",
"value": "name",
"type": "string",
"args": ["cat"]
}
}
我能夠使用 javascript 以編程方式實作這一點,但如果可以通過 postgresql select 陳述句本身完成,請幫助我。
uj5u.com熱心網友回復:
使用jsonb_set函式。
select jsonb_set(
'{
"filters": {
"operator": "EQ",
"value": "name",
"type": "string"
}
}'::jsonb, -- the input value
'{filters,args}', -- new element path
'["cat"]' -- new element value
);
結果:
{
"filters": {
"args": ["cat"],
"type": "string",
"value": "name",
"operator": "EQ"
}
}
uj5u.com熱心網友回復:
的jsonb_set或jsonb_insert功能可被用于此目的。例如:
SELECT jsonb_set(myvalue, '{filters,args}', '["cat"]') FROM mytable;
將從 中選擇myvalue列mytable,除了在您的示例中添加“args”值。
檔案的JSON 函式和運算子以及JSON 型別部分有更詳細的資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408054.html
標籤:
上一篇:在Postgresql中是否需要對復合主鍵的一部分進行索引?
下一篇:加入陣列postgres
