Re: Using null or not null in function arguments

From: Sam Mason <sam(at)samason(dot)me(dot)uk>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Using null or not null in function arguments
Date: 2009-01-23 14:45:39
Message-ID: 20090123144539.GJ3008@frubble.xen.chris-lamb.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Jan 23, 2009 at 02:16:34PM +0300, Igor Katson wrote:
> a) If the input argument is NULL, then the corresponding select
> statement will change from
>
> column = arg
> to
> column IS NULL

I think you want to use the IS [NOT] DISTINCT FROM operator. It
works like the = and <> operators. i.e. the following expressions are
equivalent:

x IS NOT DISTINCT FROM y

and

CASE WHEN x IS NULL THEN y IS NULL
ELSE COALESCE(x = y, FALSE) END

> b) If the input argument is NULL, then the corresponding select
> statement will be removed, so if it was not written.

not sure what you mean here, but maybe one of the existing suggestions
may help or the "RETURNS NULL ON NULL INPUT" flag when you're creating
the function may be what you're looking for.

--
Sam http://samason.me.uk/

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sam Mason 2009-01-23 14:58:01 Re: How to convert ByteA to Large Objects
Previous Message Howard Cole 2009-01-23 13:25:41 Re: How to convert ByteA to Large Objects