PostgreSQL13 jsonb_set関数でjsonのデータを更新する方法

環境
Windows 10 Home 64bit
PostgreSQL 13.2, compiled by Visual C++ build 1914, 64-bit

構文
jsonb_set(target jsonb, path text[], new_value jsonb[, create_missing boolean])
pathで指定した部分をnew_valueで置換、 あるいはcreate_missingが真(デフォルトはtrue)でpathで指定した
項目が存在しないならnew_valueを追加して、targetを返す。

使用例1
SQL構文

select jsonb_set('[{"age":12,"name":null},12,null,53]', '{0,age}','[12,23,54]', false)

結果
[{“age": [12, 23, 54], “name": null}, 12, null, 53]

使用例2
SQL構文

select jsonb_set('[{"age":1,"name":"東京"},2]', '{0,city}','[2,3,4]')

結果
[{“age": 1, “city": [2, 3, 4], “name": “東京"}, 2]

PostgreSQL

Posted by arkgame