cast time interval to seconds
Hi, I have two columns start_time & stop_time declared as "TIME". I'd
like to compute the difference between the two times in seconds, all in db:
SELECT
(CAST(stop_time AS SECONDS) + 86400 - CAST(start_time AS SECONDS))
% 86400;
Unfortunately AS SECONDS causes parse error. Any hints? Thanks.
On Sep 10, 2007, at 10:44 , rihad wrote:
SELECT
(CAST(stop_time AS SECONDS) + 86400 - CAST(start_time AS SECONDS))
% 86400;
"seconds" isn't a datatype. Try extract(epoch from (stop_time -
start_time))
The manual is quite extensive:
http://www.postgresql.org/docs/8.2/interactive/functions-
datetime.html#FUNCTIONS-DATETIME-EXTRACT
Michael Glaesemann
grzm seespotcode net
On Mon, Sep 10, 2007 at 08:44:07PM +0500, rihad wrote:
Hi, I have two columns start_time & stop_time declared as "TIME". I'd
like to compute the difference between the two times in seconds, all in db:SELECT
(CAST(stop_time AS SECONDS) + 86400 - CAST(start_time AS SECONDS))
% 86400;
At a guess I'd say you should simply subtract the two (ie stop_time -
start_time) and then use extract() to pull the seconds out.
Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
Show quoted text
From each according to his ability. To each according to his ability to litigate.
2007/9/10, Martijn van Oosterhout <kleptog@svana.org>:
On Mon, Sep 10, 2007 at 08:44:07PM +0500, rihad wrote:
Hi, I have two columns start_time & stop_time declared as "TIME". I'd
like to compute the difference between the two times in seconds, all in db:SELECT
(CAST(stop_time AS SECONDS) + 86400 - CAST(start_time AS SECONDS))
% 86400;At a guess I'd say you should simply subtract the two (ie stop_time -
start_time) and then use extract() to pull the seconds out.Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/From each according to his ability. To each according to his ability to litigate.
sample:postgres=# select extract(epoch from time '10:01:30' - time '10:00:00');
date_part
-----------
90
(1 row)
Regards
Pavel Stehule