Re: extracting total amount of time from an interval

From: Thom Brown <thombrown(at)gmail(dot)com>
To: Andrew Geery <andrew(dot)geery(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: extracting total amount of time from an interval
Date: 2010-07-01 12:10:00
Message-ID: AANLkTin9S8wOnLJoZk7cif7J5j6OaBWhuRjomLUAEV2k@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 1 July 2010 12:53, Andrew Geery <andrew(dot)geery(at)gmail(dot)com> wrote:
> Is there a way to extract the total amount of time in a given unit from an
> interval?  For example, I would like to know the total number of
> milliseconds in an interval.
> The expression
> select extract('seconds' from '5 minutes'::interval)
> returns the value of the seconds field (0) in the interval; not the total
> number of seconds in the interval.  Is there a function like extract, but
> which extracts the value not *from* the given field, but *in* the given
> units (the opposite of the justify* functions)?
> I started using the interval type because it a) looks nice in result sets
> (e.g., 01:02:00); and b) can do arithmetic with timestamps.  However, since
> I'm going to need to be able to convert to and from milliseconds for my
> application, I'm wondering if I wouldn't be better off just using a numeric
> type for storing the intervals in seconds (the intervals would be no more
> than a day total).  Thoughts?
> Thanks
> Andrew

You can use:

select extract(epoch from '5 minutes'::interval);

Regards

Thom

In response to

Browse pgsql-general by date

  From Date Subject
Next Message A. Kretschmer 2010-07-01 12:17:25 Re: extracting total amount of time from an interval
Previous Message Andrew Geery 2010-07-01 11:53:39 extracting total amount of time from an interval