BTW there are a much more short version of this: CREATE OR REPLACE FUNCTION int_equal(interval, interval) RETURNS boolean IMMUTABLE STRICT LANGUAGE sql AS 'SELECT $1::text = $2::text';
On Wed, Aug 8, 2012 at 4:51 PM, Albe Laurenz <laurenz.a...@wien.gv.at>wrote: > Then maybe you should use something like this for equality: > > CREATE OR REPLACE FUNCTION int_equal(interval, interval) RETURNS boolean > IMMUTABLE STRICT LANGUAGE sql AS > 'SELECT > 12 * EXTRACT (YEAR FROM $1) + EXTRACT (MONTH FROM $1) > = 12 * EXTRACT (YEAR FROM $2) + EXTRACT (MONTH FROM $2) > AND EXTRACT (DAY FROM $1) = EXTRACT (DAY FROM $2) > AND 3600000000 * EXTRACT (HOUR FROM $1) > + 60000000 * EXTRACT (MINUTE FROM $1) > + EXTRACT (MICROSECONDS FROM $1) > = 3600000000 * EXTRACT (HOUR FROM $2) > + 60000000 * EXTRACT (MINUTE FROM $2) > + EXTRACT (MICROSECONDS FROM $2)'; > >