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/