Re: Sum(time) possible?

From: Guy Fraser <guy(at)incentre(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Sum(time) possible?
Date: 2001-11-06 20:50:38
Message-ID: 3BE84D1E.23C58E5@incentre.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi

Here are some of my preferances, that I have found to be easier to work with doing
this.

"Command Prompt, Inc." wrote:

> On Sat, 3 Nov 2001, Konstantinos Agouros wrote:
> >On Sat, Nov 03, 2001 at 09:33:35AM -0800, Andrew Gould wrote:
> >>Are you trying to sum times or lengths of time?
> >Yup. A little background the column hold the time someone works on a project.
> >At the end of the month I want to see the total time. If time is not the right
> >column type for this please let me know.
>
> Sounds like you want an interval data type, not time. Interval describes a
> discrete length of time in temporal units, and you can perform a sum() on
> its values.
>

Yuk. Use reltime it has better conversions.
"reltime" converts seconds to "int4" and vice versa.

select reltime('-3600'::int4);
reltime
-----------
01:00 ago
(1 row)

select int4('1 day'::reltime);
int4
-------
86400
(1 row)

If you use intervals you first need to convert them to reltime.

>
> You could possibly instead have a start_timestamp column and an
> end_timestamp column, and do a sum(end_timestamp - start_timetstamp), if
> you need to track more than just the interval; subtracting a timestamp
> from another timestamp will yield an interval.
>

select 'now'::timestamp - 'Oct 31 13:24:45 2001'::timestamp;
?column?
------------
5 23:52:52
(1 row)

I prefer to use abstime rather than timestamp, if the data is to used in a spread
sheet integer based seconds are easier to deal with than the reltime format.

select 'now'::abstime - 'Oct 31 13:24:45 2001'::abstime;
?column?
----------
517929
(1 row)

>
> Regards,
> Jw.
> --
> jlx(at)commandprompt(dot)com
> by way of pgsql-general(at)commandprompt(dot)com
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)

Of course there are alternatives and I am not saying that the writer of this
message is wrong in any way.

I have found these to be adequate and simple for accounting radius session
information and other things over the last 5 years. I had a lot of trial & error
at the begining and had to write some of my own functions to do what I needed.
Scouring the huge amount of data in the manuals over the last 5 years as new
functions became available I no longer need my own conversion functions. I am
running 7.0.2 and there may be new conversions of which I am unaware. Also when
using copy to|from files for import into other applications reltime and interval
are not available but integers should be available.

Guy

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jeff Davis 2001-11-06 20:51:07 Re: functions vs embedded SQL
Previous Message Culley Harrelson 2001-11-06 19:56:29 functions vs embedded SQL