[英]How to query the existence of a key in PostgreSQL 9.5 JSONB column?
[英]how to filter Postgresql jsonb like query key inside key
id data
0a {"name" : "x1", "source_extended_attributes": {"alexa_pageviews": 6000}}
7ee {"name" : "x2", "source_extended_attributes": {"alexa_pageviews": 6000}}
8d {"name" : "x3", "source_extended_attributes": {"alexa_pageviews": 6000}}
data
列定義為 jsonb。
我需要使用 select 其中alexa_pageviews
但我不能。
我可以使用name
,例如where data->>'name' = 'x1'
我需要如何在 PostgreSQL 查詢中訪問密鑰
很簡單: data->'source_extended_attributes'->>'alexa_pageviews'
如果你想將值與某物進行比較,有幾種方法。
作為文本(使用->>
運算符顯式返回 JSON 值作為文本):
data->'source_extended_attributes'->>'alexa_pageviews' like '6%'
作為數字(將 TEXT 表示形式轉換為給定類型 ( int
) 的 NUMERIC 值):
(data->'source_extended_attributes'->>'alexa_pageviews')::int > 5000
作為 JSON 數字(將右手文本常量隱式轉換為 JSON 類型):
data->'source_extended_attributes'->'alexa_pageviews' > '999'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.