[英]Postgres update jsonb string to array
我有一個表,其中 column2 是 JSONB 類型,我想將 column2 是字符串的值更改為數組。 我希望 column2 的結果為 "one" 為 ["one"] 和 "third" 為 ["third"]
桌子
第 1 列 | 第 2 列 |
---|---|
第一的 | [“一二三”] |
第二 | “一” |
第三 | “第三” |
第三 | 4 |
我應該如何更新價值? 這是我嘗試過的:
UPDATE table
SET columnn2 = ARRAY[value]::JSONB
WHERE jsonb_typeof(column2)!='array';
使用jsonb_build_array()
函數:
update my_table set
column2 = jsonb_build_array(column2)
where jsonb_typeof(column2) != 'array';
閱讀文檔中的功能。
一種選擇是使用連接運算符( ||
)將表達式用方括號括起來並轉換為TEXT
,然后重新轉換為JSONB
,例如
UPDATE tab
SET column2 = ('['||column2::TEXT||']')::JSONB
WHERE jsonb_typeof(column2) != 'array'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.