PostgreSQLの最新バージョン_9.4.5-1.pgdg14.04+1
_を実行しており、 PostgreSQL 9.4ドキュメント で説明されている_JSON_ARRAY_LENGTH
_関数を使用してJSONB配列の長さを計算しようとしています。
以下は、私が実行しようとしている正確なクエリです。
_SELECT JSON_ARRAY_LENGTH('["hi","ho"]'::jsonb) AS length
_
そのクエリを実行すると、_2
_の値が返されるはずですが、代わりにエラーが発生します:ERROR: function json_array_length(jsonb) does not exist
ドキュメントに非常に明白なものが欠けていますか?具体的には、json
またはjsonb
データ型のいずれかを渡して_JSON_ARRAY_LENGTH
_を呼び出すことができます。私は明示的にjsonb
にキャストしているので、少し損をしています。
他の誰かがこの問題に遭遇しましたか、または誰かが私がここで間違っていることを指摘しますか?
更新:ドキュメントの読み間違い
_JSONB_ARRAY_LENGTH
_ではなく、_JSON_ARRAY_LENGTH
_を呼び出す必要がありました。 「JSON」の後の「B」に注意してください。みんなありがとう。
SELECT json[b]_array_length('["question","solved"]') AS length
[b]オプションの略