From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Doug McNaught <doug(at)mcnaught(dot)org> |
Cc: | "Ricardo Perez Lopez" <ricpelo(at)hotmail(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: '1 year' = '360 days' ???? |
Date: | 2004-10-24 01:38:15 |
Message-ID: | 4333.1098581895@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Doug McNaught <doug(at)mcnaught(dot)org> writes:
> template1=# select '1 year'::interval = '360 days'::interval;
> ?column?
> ----------
> t
> (1 row)
Yeah, if you look at interval_cmp_internal() it's fairly obvious why.
I think that this definition is probably bogus, and that only intervals
that match exactly (equal months parts *and* equal seconds parts) should
be considered "equal". However the most obvious way to redefine it
(compare the months, and only if equal compare the seconds) would lead
to rather nonintuitive behaviors such as "'1 year' > '1000 days'".
Anybody have any thoughts about a better way to map the multicomponent
reality into a one-dimensional sorting order?
(Note also that as Bruno was just mentioning, we really ought to have
months/days/seconds components, not just months/seconds; which makes the
comparison issue even more interesting.)
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Bruno Wolff III | 2004-10-24 02:29:08 | Re: '1 year' = '360 days' ???? |
Previous Message | Scott Marlowe | 2004-10-24 01:10:26 | Re: how to port Oracle database to PostgreSQL? |