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)';
>
>

Reply via email to