嗨,我正在查询一个JSONb对象,其中搜索键取决于另一个键/值对的值。考虑以下示例:
select
'{"a":"b","b":2}'::jsonb->'a',--b,
('{"a":"b","b":2}'::jsonb->'a')::text,--"b"
'{"a":"b","b":2}'::jsonb->('{"a":"b","b":2}'::jsonb->'a')::text--null, desired output is 2
我需要以某种方式将“ b”解引用到诸如“ b”之类的json搜索路径中
任何建议将不胜感激
答案 0 :(得分:0)
您应该使用->>
运算符代替->
。有多余的双引号:
select
'{"a":"b","b":2}'::jsonb->'a',--b,
('{"a":"b","b":2}'::jsonb->>'a')::text,--"b"
'{"a":"b","b":2}'::jsonb->('{"a":"b","b":2}'::jsonb->>'a')::text;