使用 PostgreSQL 9.4计算 JSONB 数组长度

我正在运行 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

我是不是遗漏了什么很明显的东西?它特别声明您可以通过 jsonjsonb数据类型调用 JSON_ARRAY_LENGTH。我明确地向 jsonb转换,所以我有点迷茫。

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

更新: 我误读了文档

我应该调用 JSONB_ARRAY_LENGTH,而不是 JSON_ARRAY_LENGTH。注意“ JSON”后面的“ B”。谢谢大家。

63346 次浏览
SELECT jsonb_array_length('["question","solved"]') AS length;

或者

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