Re: Questions about my ifnull function - Mailing list pgsql-general

From Nigel J. Andrews
Subject Re: Questions about my ifnull function
Date
Msg-id Pine.LNX.4.21.0309232104400.25713-100000@ponder.fairway2k.co.uk
Whole thread Raw
In response to Questions about my ifnull function  (Steve Crawford <scrawford@pinpointresearch.com>)
List 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 by date:

Previous
From: Steve Crawford
Date:
Subject: Questions about my ifnull function
Next
From: Bruno Wolff III
Date:
Subject: Re: Questions about my ifnull function