[英]Postgres jsonb how to check some values is not empty
我有一個jsonb值
{"mts": "375", "tele2": "", "beeline": "56", "megafon": "377"}
如何檢查例如mts和megafon不為空
我的查詢是
select *
from test
where settings->>'megafon' <> ''
or settings->>'mts' <> ''
or settings->>'beeline' <> ''
但是查詢那么長,怎么寫短條件?
SELECT * FROM
jsonb_each_text('{"mts": "", "tele2": "", "beeline": "56", "megafon": "377"}'::jsonb)
WHERE value != ''
json_each_text()
將每個json元素作為文本元素擴展為一行。 結果是一個包含列key
和value
的表。
現在,您可以為每個內容過濾value
列。
https://www.postgresql.org/docs/current/static/functions-json.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.