Allan Engelhardt <[EMAIL PROTECTED]> writes:
> I don't think it makes conceptual sense to divide intervals....
It is kinda bogus, given the underlying semantics of intervals
(integer months plus float seconds). The problem already arises
for the existing interval * float8 and interval / float8 operators,
though, so it'd be easy enough to make an interval / interval operator
that is consistent with them. What those operators do is to convert
any fractional-month result into seconds at an arbitrary conversion
factor of 30 days to the month. For example, consider
regression=# select '5 months 9 days'::interval;
?column?
---------------
5 mons 9 days
(1 row)
regression=# select '5 months 9 days'::interval * 0.5;
?column?
----------------------
2 mons 19 days 12:00
(1 row)
The initial product is effectively 2.5 months plus 4.5 days,
and then we translate the .5 months into 15 days.
This is pretty grotty, and AFAIK not documented anywhere --- I found it
out by looking at the C code for these operators. But I'm not sure
how to do better.
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/users-lounge/docs/faq.html