簡體   English   中英

如何過濾 Postgresql jsonb 像鍵內的查詢鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM