Re: How to send multiple parameters to a pl/pgsql function
От | Pavel Stehule |
---|---|
Тема | Re: How to send multiple parameters to a pl/pgsql function |
Дата | |
Msg-id | 162867790910210223u324cafaw224ce65894e576ca@mail.gmail.com обсуждение исходный текст |
Ответ на | How to send multiple parameters to a pl/pgsql function ("Sgarbossa Domenico" <domenico.sgarbossa@eniac.it>) |
Ответы |
Re: How to send multiple parameters to a pl/pgsql function
|
Список | pgsql-general |
> > I know that postgresql array implementation is not right complete and that if just > one element of array is NULL the basics array function (array_dims, array_upper, etc.) returns NULL. > I need to send a list of parameters (which could contain NULL values) and evaluate the parameters excluding NULL values > is this possible? > any suggestion? It's not true. Dimensions are stored independent to content. postgres=# create or replace function foo(int[]) returns int as $$ declare s int = 0; i integer; begin for i in select generate_subscripts($1,1) loop s := s + coalesce($1[i],0); end loop; return s; end; $$ language plpgsql; CREATE FUNCTION postgres=# select foo(array[1,2]); foo ───── 3 (1 row) postgres=# select foo(array[1,2, null, 3]); foo ───── 6 (1 row)
В списке pgsql-general по дате отправления: