使用 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
传递 json
或 jsonb
数据类型。我明确转换为 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;
我运行正在使用最新版本的 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
传递 json
或 jsonb
数据类型。我明确转换为 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;