Skip site navigation (1) Skip section navigation (2)

Re: time interval math

From: "Edward W(dot) Rouse" <erouse(at)comsquared(dot)com>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: time interval math
Date: 2012-02-09 14:31:34
Message-ID: 034901cce737$86614180$9323c480$@com (view raw or flat)
Thread:
Lists: pgsql-sql

> -----Original Message-----
> From: pgsql-sql-owner(at)postgresql(dot)org [mailto:pgsql-sql-
> owner(at)postgresql(dot)org] On Behalf Of Jasen Betts
> Sent: Thursday, February 09, 2012 6:37 AM
> To: pgsql-sql(at)postgresql(dot)org
> Subject: Re: [SQL] time interval math
> 
> On 2012-02-08, Edward W. Rouse <erouse(at)comsquared(dot)com> wrote:
> > I'm still working on getting this to work, but the summary is this:
> >
> > I am getting several (many) intervals of hour, minutes and seconds. I
> need a
> > sum of the absolute value these intervals, similar to the SUM(ABS())
> > function for numbers; and I need to divide this sum by an integer
> (bigint).
> > Getting the intervals is no problem, but I can't find built in
> functions for
> > the rest. Currently on 8.3, want to upgrade to 9.x but I can't until
> this is
> > finished.
> 
> the operation abs() is meaninless on the type interval
> eg: what is abs( '1 month - 32 days + 24 hours'::interval )

If you need to add 30 intervals together, then +- is not meaningless. 

> 
> howevwer since all your intervals are in seconds (postgres pretends
> that all
> hours are 3600 seconds long) converting to seconds is probably the
> best way to go.
> 
> > Do these functions exist, or will I be forced to convert to seconds,
> do the
> > math and then convert back to hour-minute-second format (I am
> assuming from
> > current data that, after the divide, the result should be in the
> minute:
> > second range).
> 
> Yeah, you need to do that, it's not hard,
> 
> select ( sum(abs(extract('epoch' from YOUR_INTERVAL ))) / SOMETHING ) *
> '1s'::interval
> from ...
> 
> --
> ⚂⚃ 100% natural
> 
> 
> --
> Sent via pgsql-sql mailing list (pgsql-sql(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql


In response to

Responses

pgsql-sql by date

Next:From: rvergheseDate: 2012-02-09 17:48:53
Subject: Re: Concurrent Reindex on Primary Key for large table
Previous:From: Jasen BettsDate: 2012-02-09 11:36:57
Subject: Re: time interval math

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group