Re: Difference between two times as a numeric value in a stored procedure.

From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Stijn Vanroye <s(dot)vanroye(at)Farcourier(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Difference between two times as a numeric value in a stored procedure.
Date: 2004-06-04 15:23:44
Message-ID: 20040604152344.GA12744@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Fri, Jun 04, 2004 at 10:11:57 +0200,
Stijn Vanroye <s(dot)vanroye(at)Farcourier(dot)com> wrote:
> The working of the functions is not the problem, but the return type is. I can't seem to find a way to substract two time values (or timestamp values) and get a numeric/float value. I always get the INTERVAL datatype. For example, in stead of 4:30 i would like 4.5 as a result. I have searched the documentation but could not find any way to substract time/timestamp values and get a numeric/float as a result. When I try to CAST the interval to a numeric or float value I get an error (cannot cast time without tz to ...). Same goes for trying to cast the beginvalues and then substract them. Does anyone have any idea how I can solve/circumvent this problem? Is there a function I can use?

You can use EXTRACT to extract the EPOCH from the interval which will
be the number of seconds in the interval. You can then use arithmetic
(/60.) on that number to get fractional hours.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Bruno Wolff III 2004-06-04 16:13:40 Re: dynamic rules?
Previous Message Stijn Vanroye 2004-06-04 14:44:57 Re: Difference between two times as a numeric value in a stored procedure. [Scanned]