簡體   English   中英

無法在Postgres中搜索jsonb字段

[英]Unable to search jsonb field in postgres

我在postgres版本10中有一個名為Payment的jsonb字段,其值是:

[{"bank": "SBI", "amount": "100", "ref_no": "123", "payment_mode": "1"}]

當我嘗試搜索payment->'payment_mode'='1' 它顯示空行。

以下是查詢

SELECT * FROM bill WHERE payment->>'payment_mode'='1'

但是當嘗試此查詢時,它會顯示確切的結果

SELECT
    *
FROM
    json_array_elements(
        '[{"bank": "SBI", "amount": "100", "ref_no": "123", "payment_mode": "1"}]'
    ) AS elem
WHERE
    elem->>'payment_mode' = '1';

是否有任何解決方案可用於搜索jsonb字段中的值以獲取結果

`{"bank": "SBI", "amount": "100", "ref_no": "123", "payment_mode": "1"}`.

如果我正確理解,則需要以下內容:

select bill.*, e.*
from bill 
join lateral jsonb_array_elements(payment) e(v)
on true
where v->>'payment_mode'='1';

暫無
暫無

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

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