Re: Questions about my ifnull function

Поиск
Список
Период
Сортировка
От Nigel J. Andrews
Тема Re: Questions about my ifnull function
Дата
Msg-id Pine.LNX.4.21.0309232104400.25713-100000@ponder.fairway2k.co.uk
обсуждение исходный текст
Ответ на Questions about my ifnull function  (Steve Crawford <scrawford@pinpointresearch.com>)
Список pgsql-general
On Tue, 23 Sep 2003, Steve Crawford wrote:

> Having a requirement to change null into a certain value in a query I
> created a couple versions of an ifnull function as follows:
>
> create or replace function "ifnull" (text, text) returns text as '
> begin
>   if $1 is null
>   then
>     return $2;
>   else
>     return $1;
>   end if;
> end;' language 'plpgsql';
>
> create or replace function "ifnull2" (text, text) returns text as '
> select case when $1 is null then $2 else $1 end;
> ' language 'sql';
>
> The functions work fine but I have some questions:
>
> 1. Did I overlook a better builtin function?

coalesce

3. You get your function called sometimes without error for other data types
because of implicit casting to text type.


> steve=# select ifnull(null,5::int);
>  ifnull
> --------
>  5

I could have sworn int to text wasn't an implicit cast now. Damn memory.


--
Nigel J. Andrews


В списке pgsql-general по дате отправления:

Предыдущее
От: Steve Crawford
Дата:
Сообщение: Questions about my ifnull function
Следующее
От: Bruno Wolff III
Дата:
Сообщение: Re: Questions about my ifnull function