Interval to months

Поиск
Список
Период
Сортировка
От Aram Fingal
Тема Interval to months
Дата
Msg-id B3AEA435-1203-43D7-85C8-4716AB506951@multifactorial.com
обсуждение исходный текст
Ответы Re: Interval to months  (Steve Atkins <steve@blighty.com>)
Список pgsql-general
I have a field which contains an interval value and I sometimes need to represent the full interval (not a part) as a
decimalnumber of months.  For example, "5 years 6 mons 3 days" as "66.1 months".  I've been trying to figure out how to
dothis and haven't found a definitive answer.   

The following gives an approximation:
round(cast(extract(epoch from time_interval)/2592000 as numeric), 2) || ' months'

The number 2592000 is seconds in a 30 day month.  Accounting for leap years, etc. Google calculates it as 2629743.83.
Thething is that the 30 day month number gives the right answer for short intervals while the Google number gives the
rightanswer for longer intervals (several years or more.) Is there a better way? 

--Aram

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

Предыдущее
От: Adriaan Joubert
Дата:
Сообщение: Re: Memory error in user-defined aggregation function
Следующее
От: Steve Atkins
Дата:
Сообщение: Re: Interval to months