Re: Re[2]: AW: [HACKERS] isnull() or is it?t
От | jwieck@debis.com (Jan Wieck) |
---|---|
Тема | Re: Re[2]: AW: [HACKERS] isnull() or is it?t |
Дата | |
Msg-id | m0zoCfZ-000EBQC@orion.SAPserv.Hamburg.dsh.de обсуждение исходный текст |
Ответ на | Re[2]: AW: [HACKERS] isnull() or is it?t (Sferacarta Software <sferac@bo.nettuno.it>) |
Список | pgsql-hackers |
> > If it is interesting to someone, we can partially emulate COALESCE > right now as: > > create function coalesce(integer) returns integer as > 'declare > nonullo alias for $1; > begin > if nonullo then > return nonullo; > else > return 0; > end if; > end; > ' language 'plpgsql'; > CREATE Pardon, but you still misuse the fact, that PL/pgSQL's IF expression is implicitly casted into a boolean. That's only possible for integer values. Please use IF nonullo ISNULL THEN RETURN 0; ELSE RETURN nonullo; END IF; instead, because this would work for other types (like text, varchar etc.) too. Since PL functions can be overloaded (like SQL functions), it would be possible, but currently not that performant :-(, to create such a function for all types required. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #======================================== jwieck@debis.com (Jan Wieck) #
В списке pgsql-hackers по дате отправления: