Re: Interval "1 month" is equals to interval "30 days" - WHY?

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

In response to

Browse pgsql-general by date

  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