使用PostgreSQL 9.4计算JSONB数组长度

时间:2015-10-09 14:46:00

标签: postgresql postgresql-9.4 jsonb

我正在运行最新版本的PostgreSQL 9.4.5-1.pgdg14.04+1,并尝试使用JSON_ARRAY_LENGTH中所述的SELECT JSON_ARRAY_LENGTH('["hi","ho"]'::jsonb) AS length 函数来计算JSONB数组的长度

以下是我尝试运行的确切查询:

2

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

我遗漏了文档中非常明显的内容吗?它明确指出您可以致电json传递jsonbjsonb数据类型。我明确地转而JSONB_ARRAY_LENGTH,所以我有点茫然。

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

更新:我误读了文档

我应该一直在调用JSON_ARRAY_LENGTH,而不是<a style="float:right" href="http://www.asmhijas.com/">Visit me</a> <div id="container1"> <div id="container2"> <ul class="menu"> <div class="drop"> <li ><a href="#">Home</a></li> <li class="menu-item-has-children highlight"><a href="#" class="">HOVER ME!!</a> <div class="drop"> <ul class="sub-menu"> <li class="menu-item-has-children highlight"><a href="#" class="">2nd Level Page</a> <div class="drop"> <ul class="sub-menu"> <li class="highlight"><a href="#">3rd Level Page</a></li> <li class="highlight"><a href="#">Another 3rd Level Page</a></li> </ul> </div> </li> </ul> </div> </li> <li class="highlight"><a href="http://www.asmhijas.com/">Visit me</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> <li class="highlight"><a href="#">Link</a></li> </div> </ul> </div> </div> 。请注意&#34; B&#34;在&#34; JSON&#34;之后。谢谢你们。

1 个答案:

答案 0 :(得分:29)

SELECT json[b]_array_length('["question","solved"]') AS length

[b]代表可选