【问题标题】:variable substitution querying postgres jsonb object变量替换查询postgres jsonb对象
【发布时间】:2018-10-08 10:54:52
【问题描述】:

您好,我正在查询一个 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 搜索路径

任何建议将不胜感激

【问题讨论】:

    标签: postgresql jsonb


    【解决方案1】:

    您应该使用->> 运算符而不是->。有不需要的双引号:

    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;
    

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      相关资源
      最近更新 更多