2017-11-07 11 views
0

関数 "jsonb_extract_path_text"を使用しますが、結果は得られません。 私はHibernateとCriteriaBuilderを使い始めましたが、結局私は自分の状況を単純化しました。Postgres、関数 "jsonb_extract_path_text"は結果を返しません

私は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です。

答えて

0
SELECT jsonb_extract_path_text('{"a": {"b":{"c": "foo"}}}'::jsonb , 'a','b'); 
関連する問題