Thread: How to find number of seconds between 2 timestamps

How to find number of seconds between 2 timestamps

From
"Woody Woodring"
Date:
I am trying to calculate a rate per second and am having trouble getting the
number of seconds between the two timestamps to use in the formula.

overview=> select extract(epoch from interval '1 day'::interval); date_part
-----------    86400
(1 row)
overview=> select extract(epoch from interval ('2009-02-16
22:15:28.034567-06'::timestamp with time zone - '2009-02-15
22:15:28.034567-06'::timestamp with time zone));
ERROR:  syntax error at or near "'2009-02-16 22:15:28.034567-06'"
LINE 1: select extract(epoch from interval ('2009-02-16 22:15:28.034...

Any suggestions would be helpful,

Thanks,
Woody

----------------------------------------
iGLASS Networks
3300 Green Level Rd. West
Cary NC 27519
(919) 387-3550 x813
www.iglass.net



Re: How to find number of seconds between 2 timestamps

From
Richard Huxton
Date:
Woody Woodring wrote:
> I am trying to calculate a rate per second and am having trouble getting the
> number of seconds between the two timestamps to use in the formula.
> 
> overview=> select extract(epoch from interval '1 day'::interval);
>   date_part
> -----------
>      86400
> (1 row)
>  
> overview=> select extract(epoch from interval ('2009-02-16
> 22:15:28.034567-06'::timestamp with time zone - '2009-02-15
> 22:15:28.034567-06'::timestamp with time zone));
> ERROR:  syntax error at or near "'2009-02-16 22:15:28.034567-06'"

The problem is with "interval (...)" - you can say "interval 'constant'"
or "(expression)::interval".

In your case, since you are subtracting two timestamptz types you will
automatically get an interval type. So, you don't need to do anything:

select extract(epoch from ('2009-02-16 22:15:28.034567-06'::timestamp
with time zone - '2009-02-15 22:15:28.034567-06'::timestamp with time
zone));date_part
-----------    86400
(1 row)

HTH

--  Richard Huxton Archonet Ltd