使用 PostgreSQL 9.4 计算 JSONB 数组长度

Calculate JSONB Array Length Using PostgreSQL 9.4

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

这是我正在尝试的确切查询 运行:

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

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

我是否遗漏了文档中非常明显的内容?它明确指出您可以调用 JSON_ARRAY_LENGTH 传递 jsonjsonb 数据类型。我明确转换为 jsonb 所以我有点不知所措。

有没有其他人遇到过这个问题,或者有人会指出我在这里做错了什么吗?

更新:我误读了文档

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

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

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