【发布时间】:2020-04-03 16:10:34
【问题描述】:
我目前正在使用 psql 并尝试更新嵌入式 json 对象以将值从整数更改为具有一个值的数组(这是由于其他地方的函数发生更改)。
我的桌子是这样的:
id | dashboard_settings
-----------------------
1 | {"query": {"year_end": 2018, "year_start": 2015, "category": 4}}
但是我希望类别位更改为 [4],如下所示:
id | dashboard_settings
-----------------------
1 | {"query": {"year_end": 2018, "year_start": 2015, "category": [4]}}
到目前为止,我有这个允许我访问类别部分,但我不知道如何将其转换为数组:
UPDATE table
SET dashboard_settings = jsonb_set(
dashboard_settings::jsonb,
array['query, category'],
to_jsonb(dashboard_settings->'query' ->'category'));
我尝试连接并转换为数组,但没有成功
【问题讨论】:
-
你的数组构造函数应该是
array['query', 'category']。按照您编写的方式,它只是一个单元素数组。你也可以使用'{query, category}'。
标签: json postgresql sql-update psql