On Thu, Dec 01, 2005 at 02:15:39PM +0100, &ru wrote:
> Hi!
>
> I am developing pl/pgsql functions with multi-dimensional array input
> parameter.
> I can use array_dims(), but it gives just the text representation of
> the structure and it is not suitable when I want to iterate over the
> whole array with the array_lower() and array_upper() functions. I want
> to handle custom dimension/size arrays.
> So my question is, how can I easily determine the number of the
> dimensions of an array?
This illustrates what to do :)
SELECT
array_dims(array[[1,2],[3,4]]) AS "text representation",
string_to_array( array_dims(array[[1,2],[3,4]]) ,'][') AS "pieces",
array_upper( string_to_array( array_dims(array[[1,2],[3,4]]) ,']['), 1) AS "number of dimensions"
;
Cheers,
D
--
David Fetter david@fetter.org http://fetter.org/
phone: +1 415 235 3778
Remember to vote!