From: | Dmitry Koterov <dmitry(at)koterov(dot)ru> |
---|---|
To: | Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Interval "1 month" is equals to interval "30 days" - WHY? |
Date: | 2012-08-24 11:45:38 |
Message-ID: | CA+CZih5-PwDgs1VEQDjvD29P=7zG0vX6cJ-5QMyVP6jsPSrfng@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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(dot)albe(at)wien(dot)gv(dot)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)';
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Craig Ringer | 2012-08-24 11:48:01 | Re: Windows SIngle Sign On - LINUX Server |
Previous Message | Ashesh Vashi | 2012-08-24 11:20:03 | Re: I: Installation faillure version 8.4.12 |