簡體   English   中英

如何從 PostgreSQL 中的 JSONB 數組中獲取特定對象值?

[英]How to get specific objects value from JSONB array in PostgreSQL?

我有一個名為people的列,它的類型是JSONB

這是示例數據( 1 行):

{"addresses": [{"street":"cubuklu", "valid?": "true"} 
               {"street":"beykoz", "valid?":"false"}
               {"street":"kavacik", "valid?": "true"} ]}

我想獲得valid?街道的列表valid? 所有行的值。

結果:

cubuklu
kavacik
......(data from other rows)

我能夠列出無法過濾值的數組。

您需要取消嵌套數組,然后對結果進行過濾:

select adr.address ->> 'street'
from the_table t
  cross join jsonb_array_elements(t.people -> 'addresses') as adr(address)
where adr.address ->> 'valid?' = 'true'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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