在postgres中查找数组长度

时间:2014-02-27 20:02:31

标签: arrays postgresql greenplum postgresql-8.2

我尝试了array_upper(array(Value))array_upper((Value):array[]),但收到了语法错误。

值:数据类型为int []; 我期待结果如下表所示:

 Pname  week_date      Value    array_length
    5773    6/8/2013    {29}            1
    5773    3/30/2013   {27}            1
    5773    3/16/2013   {138,3,4}       3
    5773    3/9/2013    {37,8}          2
    5773    1/19/2013   {66}            1
    5773    1/5/2013    {49,50,50,56}   4

但这很好用

select array_upper(array[1,2,3,6], 1)

我需要使用Value列并找出该值数组的长度

postgres版本:8.2

1 个答案:

答案 0 :(得分:5)

这应该有效:

select array_upper ( value, 1 ) from table_name_here;

注意:'VALUE'是SQL中的保留关键字,因此不建议将其用作列名。请参阅:http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html