On 9/20/05, Matthew Peter <[EMAIL PROTECTED]> wrote:
> Wondering if there's a way for postgres to return how
> many elements are in a array as a single integer? For
> instance, returning 10 (items in array) instead of
> [-5:4]
>
> Also, is there a way to return the position of an item
> in a array?
>

Try using array_upper and specify which array dimension.

from http://www.postgresql.org/docs/current/static/arrays.htm:

"array_dims produces a text result, which is convenient for people to
read but perhaps not so convenient for programs. Dimensions can also
be retrieved with array_upper and array_lower, which return the upper
and lower bound of a specified array dimension, respectively."


pg8=# SELECT array_dims('{4,2,3,5,6}'::INT[]);
 array_dims
------------
 [1:5]
(1 row)

pg8=# SELECT array_upper('{4,2,3,5,6}'::INT[],1);
 array_upper
-------------
           5

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to