Postgres,函数“jsonb_extract_path_text”没有结果

时间:2017-11-07 14:31:36

标签: postgresql jsonb

我想使用函数“jsonb_extract_path_text”,但它没有给出结果。 我从Hibernate和CriteriaBuilder开始,但最终我简化了我的情况。

现在我在pgAdmin查询工具中有几行(也在psql控制台中测试过)和PostgreSQL文档中的示例。

运算符的第一个语句正常工作:

SELECT '{"a": {"b":{"c": "foo"}}}'::jsonb#>>'{a,b}';

它给了我

{"c": "foo"}

当我尝试使用适当的函数并将两个操作数作为参数传递时:

SELECT jsonb_extract_path_text('{"a": {"b":{"c": "foo"}}}'::jsonb , '{a,b}');

它给了我NULL。

我还尝试使用数组构造函数定义路径:

SELECT jsonb_extract_path_text('{"a": {"b":{"c": "foo"}}}'::jsonb , ARRAY['a','b']);

它给了我一条错误信息:

ERROR:  function jsonb_extract_path_text(jsonb, text[]) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.

这些陈述有什么问题? 我的Postgres版本是9.6。

1 个答案:

答案 0 :(得分:1)

SELECT jsonb_extract_path_text('{"a": {"b":{"c": "foo"}}}'::jsonb , 'a','b');