我有一個帶有 JSONB 列的表。如何選擇 JSONB 列上具有任何空值的記錄?我搜索了一段時間,找不到任何東西,我所有的結果都需要一個特殊的鍵來查詢,而且因為我有動態鍵值,所以我不能使用這種方法。
abc
{"color": null, "size": "XL" }
{"name": "John", "Height": null, "weight": null }
uj5u.com熱心網友回復:
您可以使用 JSON 路徑運算式來執行此操作。
select *
from the_table
where jsonb_path_exists(the_column, '$.keyvalue() ? (@.value == null)')
uj5u.com熱心網友回復:
使用jsonb_each_text, 樣本資料
select * into tbl
from (
values
(1, '{"color": "blue", "size": "XL" }'::jsonb),
(2, '{"name": "John", "Height": null, "weight": null }'::jsonb)
)t(id, val);
查詢
select t.*
from tbl t
where exists (
select 1
from jsonb_each_text(t.val)
where value is null
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/451180.html
標籤:sql json PostgreSQL
下一篇:sql錯誤-沒有唯一約束匹配鍵
