变量替换查询postgres jsonb对象
Posted
技术标签:
【中文标题】变量替换查询postgres jsonb对象【英文标题】:variable substitution querying postgres jsonb object 【发布时间】: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 搜索路径
任何建议将不胜感激
【问题讨论】:
【参考方案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;
【讨论】:
以上是关于变量替换查询postgres jsonb对象的主要内容,如果未能解决你的问题,请参考以下文章