Greetings-
I'm trying to write what should be a simple function that returns the
minimim of two integers. The complication is that when one of the two
integers is NULL, it should return the other; and when both are NULL, it
should return NULL. Here's what I've written:
CREATE FUNCTION min(int4, int4)
RETURNS int4
AS 'BEGIN IF $1 ISNULL THENRETURN $2; ELSE IF $2 ISNULL THEN RETURN $1; ELSE IF $1 > $2 THEN
RETURN$2; ELSE RETURN $1; END IF; END IF; END IF; END;'
LANGUAGE 'plpgsql';
and here's what I get:
fgdata=# select min(10, NULL);min
-----
(1 row)
so it looks like, for whatever reason, it's returning NULL when it should
be returning 10. Can anyone offer advice?
Thanks.
----------------------------------------------------------------------
Andrew J Perrin - Ph.D. Candidate, UC Berkeley, Dept. of Sociology
Chapel Hill, North Carolina, USA - http://demog.berkeley.edu/~aperrin aperrin@socrates.berkeley.edu -
aperrin@igc.apc.org