In the documentation "IS NOT DISTINCT FROM" only appears in version 8.2 The 8.0 and 8.1 documentation only mentions "IS DISTINCT FROM". http://www.postgresql.org/docs/8.2/static/functions-comparisons.html http://www.postgresql.org/docs/8.1/static/functions-comparisons.html http://www.postgresql.org/docs/8.0/static/functions-comparisons.html I haven't tried it, but probably replacing WHERE f.statecd IS NOT DISTINCT FROM p_statecd) with WHERE not(f.statecd IS DISTINCT FROM p_statecd)) will do the same.
>>> "Jyoti Seth" <[EMAIL PROTECTED]> 2008-02-25 6:20 >>> I have tried this, but it is showing following error: ERROR: syntax error at or near "DISTINCT" SQL state: 42601 Thanks, Jyoti -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of johnf Sent: Friday, February 22, 2008 10:01 PM To: pgsql-sql@postgresql.org Subject: Re: [SQL] postgresql function not accepting null values inselect statement On Friday 22 February 2008 01:35:47 am Bart Degryse wrote: > Can you try this... > > CREATE OR REPLACE FUNCTION getfunctionaries(p_statecd integer) > RETURNS SETOF t_functionaries AS > $BODY$ > DECLARE > rec t_functionaries%ROWTYPE; > BEGIN > FOR rec IN ( > SELECT f.functionaryid, f.category, f.description > FROM functionaries f > WHERE f.statecd IS NOT DISTINCT FROM p_statecd) > LOOP > return next rec; > END LOOP; > return; > END; > $BODY$ > LANGUAGE 'plpgsql' VOLATILE; > a newbie question. Could you explain why yours works? I don't understand how it works if p_statecd = NULL -- John Fabiani ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org ( http://archives.postgresql.org/ )