Обсуждение: How to find number of seconds between 2 timestamps
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
			
		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