Thread: Help with SQL updating not working.
Hi all, I'm trying to perform an update and having a bad brain day! It involves calculating the different between two times and inserting the difference into a third field Create the table test=# CREATE TABLE the_times (time1 time, time2 time, time_diff integer); -- time_diff is in seconds; CREATE TABLE Insert test values (all the same - doesn't matter) test=# insert into the_times (time1, time2) values ('08:34:21', '09:31:21'); INSERT 0 1 test=# insert into the_times (time1, time2) values ('08:34:21', '09:31:21'); INSERT 0 1 test=# insert into the_times (time1, time2) values ('08:34:21', '09:31:21'); INSERT 0 1 test=# insert into the_times (time1, time2) values ('08:34:21', '09:31:21'); INSERT 0 1 test=# select * from the_times; time1 | time2 | time_diff ----------+----------+---------------------- 08:34:21 | 09:31:21 | 08:34:21 | 09:31:21 | 08:34:21 | 09:31:21 | 08:34:21 | 09:31:21 | Now, into the time_diff field, I want to insert the time difference in seconds I've tried various combinations of this update the_times as set time_diff = extract ('epoch' from (the_times.time2 - the_times.time1)::interval) from the_times; but to no avail. Could any kind soul help me out on this? TIA and rgs, Paul...
Now, into the time_diff field, I want to insert the time difference in seconds
I've tried various combinations of this
update the_times as set time_diff = extract ('epoch' from
(the_times.time2 - the_times.time1)::interval) from the_times;
but to no avail.
Could any kind soul help me out on this?
SELECT extract('epoch' FROM te) - extract('epoch' FROM ts)FROM (
VALUES ( '08:34:21'::time, '09:34:21'::time)
) tm (ts, te)
epoch ARE seconds; just subtract them directly.
David J.
Paul Linehan <linehanp@tcd.ie> wrote: > Hi all, > > I'm trying to perform an update and having a bad brain day! > > It involves calculating the different between two times and inserting > the difference into a third field > > Create the table > > test=# CREATE TABLE the_times (time1 time, time2 time, time_diff > integer); -- time_diff is in seconds; > CREATE TABLE the time_diff - column are unnecessary, it can be calculated in the select. Andreas -- Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) "If I was god, I would recompile penguin with --enable-fly." (unknown) Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°