Thread: Converting/formatting timestamp arithmetic

Converting/formatting timestamp arithmetic

From
eel@javabox.com (Eel)
Date:
Hi,
  Is there any easy way to convert the result of timestamp
arithmetic to a simple decimal number?

I have something like:

select current_timestamp - timein as daysat from transcations

daysat looks like:

3 days 12:00:00

I want it to look like:

3.5

I fooled around a bit to_number(text, text).  It seems like
I would need something that would parse out the days and hours
or else a global formatting flag.  I guess I could write my
own function, but was wondering if there's some better way.

Thanks!

Re: Converting/formatting timestamp arithmetic

From
Karel Zak
Date:
On Thu, Mar 07, 2002 at 05:42:00PM -0800, Eel wrote:
> Hi,
>   Is there any easy way to convert the result of timestamp
> arithmetic to a simple decimal number?
>
> I have something like:
>
> select current_timestamp - timein as daysat from transcations
>
> daysat looks like:
>
> 3 days 12:00:00
>
> I want it to look like:
>
> 3.5

test=# select date_part('d', '3 days 12:00:00'::interval) + (1 / (24 /
       date_part('h', '3 days 12:00:00'::interval)));
 ?column?
 ----------
       3.5

test=# select date_part('d', '3 days 6:00:00'::interval) + (1 / (24 /
date_part('h', '3 days 6:00:00'::interval)));
 ?column?
 ----------
      3.25


> I fooled around a bit to_number(text, text).  It seems like

 IMHO better is extract relavant values and count it.

        Karel

--
 Karel Zak  <zakkr@zf.jcu.cz>
 http://home.zf.jcu.cz/~zakkr/

 C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz