Re: how to get a number of seconds in some interval ?

Поиск
Список
Период
Сортировка
От Achilleas Mantzios
Тема Re: how to get a number of seconds in some interval ?
Дата
Msg-id 200805130956.51872.achill@matrix.gatewaynet.com
обсуждение исходный текст
Ответ на Re: how to get a number of seconds in some interval ?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: how to get a number of seconds in some interval ?
Re: how to get a number of seconds in some interval ?
Список pgsql-admin
Στις Monday 12 May 2008 18:09:11 ο/η Tom Lane έγραψε:
> Achilleas Mantzios <achill@matrix.gatewaynet.com> writes:
> > Στις Monday 12 May 2008 17:32:39 ο/η Julius Tuskenis έγραψε:
> >> do you know why division of intervals was not implemented? As I see it -
> >> there should be an easy way to do so. '1 hour 30 minutes' / '1 hour' =
> >> 1.5 .... Seems straight forward...
> >>
> > No idea why. However as you pose it,it makes sense.
>
> No, it doesn't really, because intervals contain multiple components.
> What would you define as the result of
>     '1 month 1 hour' / '1 day'
> bearing in mind that the number of days per month is not fixed, and
> neither is the number of hours per day?
>

SELECT extract(epoch from '1 month'::interval)/(60*60*24) as "Days in 1 month interval";
 Days in 1 month interval
--------------------------
                       30
(1 row)
So it seems that the arbitary assumption of (1 month=30 days, and 1 day = 24 hours) has already been made
in the extract function.

> You can derive a number if you're willing to make arbitrary assumptions
> about the relationships of the different units (as indeed extract(epoch)
> does), but hard-wiring such assumptions into a basic arithmetic operator
> doesn't seem like a good idea to me.
>
>             regards, tom lane
>



--
Achilleas Mantzios

В списке pgsql-admin по дате отправления:

Предыдущее
От: Julius Tuskenis
Дата:
Сообщение: Re: how to get a number of seconds in some interval ?
Следующее
От: "Scott Marlowe"
Дата:
Сообщение: Re: how to get a number of seconds in some interval ?