[使用PostgreSQL 9.4计算JSONB数组长度

问题描述 投票:33回答:1

我正在运行最新版本的PostgreSQL 9.4.5-1.pgdg14.04+1,并尝试使用JSON_ARRAY_LENGTH中所述的PostgreSQL 9.4 Documentation函数来计算JSONB数组的长度>

这里是我要运行的确切查询:

SELECT JSON_ARRAY_LENGTH('["hi","ho"]'::jsonb) AS length

当我运行该查询时,我希望返回的值为2,但是却遇到错误:ERROR: function json_array_length(jsonb) does not exist

我是否在文档中缺少非常明显的内容?它特别指出您可以通过JSON_ARRAY_LENGTHjson数据类型调用jsonb。我明确地转换为jsonb,所以我有点茫然。

是否还有其他人遇到此问题,或者有人会指出我在这里做错了吗?

更新:我误读了文档

我应该一直打电话给JSONB_ARRAY_LENGTH,而不是JSON_ARRAY_LENGTH。注意“ JSON”之后的“ B”。谢谢大家。

我正在运行最新版本的PostgreSQL 9.4.5-1.pgdg14.04 + 1,并尝试使用PostgreSQL 9.4中描述的JSON_ARRAY_LENGTH函数来计算JSONB数组的长度。]] >

SELECT jsonb_array_length('["question","solved"]') AS length;

SELECT json_array_length('["question","solved"]') AS length;
postgresql postgresql-9.4 jsonb
1个回答
51
投票
SELECT jsonb_array_length('["question","solved"]') AS length;
© www.soinside.com 2019 - 2024. All rights reserved.