表結構為:
CREATE TABLE mine_check.meta
(
sl_no bigserial NOT NULL,
tags jsonb NOT NULL DEFAULT '[]'::jsonb
);
表看起來像
sl.no tags
1 [120,450]
2 [120]
3 [450,980,120]
4 [650]
我需要從標簽列中洗掉 120 - 沒有密鑰
我嘗試閱讀很多地方 - 他們有更新或洗掉的關鍵。
我應該如何進步?
uj5u.com熱心網友回復:
恐怕它必須以艱難的方式完成 - 取消 JSONB 陣列的嵌套,從中選擇和過濾,然后聚合回 JSONB 陣列。
select sl_no,
(
select jsonb_agg(e::integer)
from jsonb_array_elements_text(tags) e
where e <> 120::text
) tags
from mine_check.meta;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/481681.html
