簡體   English   中英

如何 append 自定義 object 到 postgres 中的 JSONB 列類型

[英]How to append a custom object to JSONB column type in postgres

我需要更新一個包含數據{"X":true}的 jsonb 列。 我需要 append 一個復雜的 object 類型{"obj":{"a":1,"b":2}}所以該列的行的最終值{"x":true,"obj":{"a":1,"b":2}} 更新此行的查詢將是什么。

postgres 版本 12

更新 - 以下查詢update tableName set columnName = (select '{"obj":{"a":1,"b":2}}'::jsonb || columnName::jsonb) where...返回成功時存在一個值,但是當列是 null 時,它在運行更新查詢后仍然是 null。 即使列是 null,我也需要能夠添加{"obj":{"a":1,"b":2}}

您可以使用連接運算符

'{"X":true}'::jsonb || '{"obj":{"a":1,"b":2}}'::jsonb

如果要更新現有列,請使用coalesce()處理 NULL 值:

update the_table
  set the_column = coalesce(the_column, '{}')||'{"obj":{"a":1,"b":2}}'

在線示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM