Sql 为jsonb现有密钥添加值并更新其他postgres

Sql 为jsonb现有密钥添加值并更新其他postgres,sql,json,postgresql,Sql,Json,Postgresql,如何向jsonb键添加值? 范例` {"drivers": "15","updatedat":"someDate"} upd之后必须 {"drivers":"15,...,26","updatedat":"nowTime"} updatedat是从节点插入的,所以没有问题,我可以在节点中选择derivers的值,添加new和update,是否有其他方法在不使用节点的情况下使用1个查询来实现 如果我正确理解了您的任务,您只需要jsonb\u set: t=# select jsonb_set(

如何向jsonb键添加值? 范例`

{"drivers": "15","updatedat":"someDate"}
upd之后必须

{"drivers":"15,...,26","updatedat":"nowTime"}

updatedat是从节点插入的,所以没有问题,我可以在节点中选择derivers的值,添加new和update,是否有其他方法在不使用节点的情况下使用1个查询来实现

如果我正确理解了您的任务,您只需要
jsonb\u set

t=# select jsonb_set('{"drivers": "15","updatedat":"someDate"}'::jsonb, '{updatedate}'::text[],to_jsonb(now()));
                                          jsonb_set
----------------------------------------------------------------------------------------------
 {"drivers": "15", "updatedat": "someDate", "updatedate": "2018-05-29T15:49:41.772188+00:00"}
(1 row)
除非你有旧版本的课程

更新更改驾驶员att值:

t=# with c(j) as (values('{"drivers": "15","updatedat":"someDate"}'::jsonb))
select jsonb_set(j,'{drivers}'::text[],to_jsonb(j->>'drivers'||',...,26')) from c;
                     jsonb_set
---------------------------------------------------
 {"drivers": "15,...,26", "updatedat": "someDate"}
(1 row)

不,我想在不使用porg的情况下为驱动程序添加值。语言