我在 Postgres 表中有一个 json 对象列。 假设每条记录包含此列的值类似于下面的 json
{"country":"USA","states":["Texas","Alaska"]}
我将如何创建更新语句以将新状态“Virginia”添加到该 json 列中的状态数组。
表名:人员详细信息 列名:位置
最佳答案
使用jsonb_insert()
:
UPDATE nations
SET nation = jsonb_insert(nation::jsonb, '{states,0}', '"Virginia"')::json
WHERE nation ->> 'country' = 'USA';
如果您的数据类型是 json
,那么您将需要转换为 jsonb
类型并返回(如图所示)
关于sql - 添加到 Postgres 中的 json 列中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58079160/