Odejmowanie czasu sql

0

Witam wszystkich,

Od pewnego momentu próbuję odjąć czas w tworzonym przeze mnie zapytaniu. O ile potrafię odjąć czas pomiędzy początkiem i końcem operacji, to nie mam pomysłu jak odjąć czas pomiędzy końcem pierwszej i końcem drugiej operacji.

Poniżej przedstawiam zapytanie, którego dotyczy problem, a w załączniku screen z opisem problemu.

select kto, to_char(poczatek_czasu,'yyyy-mm-dd hh24:mi:ss') OD, to_char(koniec_czasu,'yyyy-mm-dd hh24:mi:ss') DO,
round((((koniec_czasu-poczatek_czasu)86400/3600)60),2) CZAS_W_MINUTACH
from firma
where to_date(to_char(poczatek_czasu,'DDMMYY HH24:MI'),'DDMMYY HH24:MI') between to_date('&date &hour','DDMMYY hh24:mi:ss')
and to_date('&date &hour','DDMMYY hh24:mi:ss');

Z góry dziękuję za pomoc.

0
SELECT
  f.kto,
  to_char(f.poczatek_czasu, 'yyyy-mm-dd hh24:mi:ss') OD,
  to_char(f.koniec_czasu, 'yyyy-mm-dd hh24:mi:ss') DO,
  ROUND((((f.koniec_czasu - f.poczatek_czasu) * 86400 / 3600) * 60), 2) CZAS_W_MINUTACH,
  ROUND((((f.koniec_czasu - poprz.koniec_czasu) * 86400 / 3600) * 60), 2) CZAS_OD_POPRZEDNIEGO
FROM firma f
JOIN firma poprz
  ON poprz.koniec_czasu = (SELECT
    MAX(koniec_czasu)
  FROM firma
  WHERE koniec_czasu < f.koniec_czasu)
ORDER BY f.poczatek_czasu

Gdyby ktoś chciał się pobawić sqlfiddle:

CREATE TABLE firma 
    (
     kto varchar2(30),
     poczatek_czasu Date,
     koniec_czasu Date
   );

INSERT INTO firma
(kto,poczatek_czasu,koniec_czasu)
VALUES
('Ryszard', to_date('2014-02-15 14:03:08','YYYY-MM-DD HH24:MI:SS'),
  to_date('2014-02-15 14:03:08','YYYY-MM-DD HH24:MI:ss'));
INSERT INTO firma
(kto,poczatek_czasu,koniec_czasu)
VALUES
('Ryszard', to_date('2014-02-15 14:08:08','YYYY-MM-DD HH24:MI:SS'),
  to_date('2014-02-15 14:08:35','YYYY-MM-DD HH24:MI:ss'));
INSERT INTO firma
(kto,poczatek_czasu,koniec_czasu)
VALUES
('Ryszard', to_date('2014-02-15 14:08:35','YYYY-MM-DD HH24:MI:SS'),
  to_date('2014-02-15 14:08:53','YYYY-MM-DD HH24:MI:ss'));
INSERT INTO firma
(kto,poczatek_czasu,koniec_czasu)
VALUES
('Ryszard', to_date('2014-02-15 14:08:53','YYYY-MM-DD HH24:MI:SS'),
  to_date('2014-02-15 14:09:20','YYYY-MM-DD HH24:MI:ss'));
INSERT INTO firma
(kto,poczatek_czasu,koniec_czasu)
VALUES
('Ryszard', to_date('2014-02-15 14:09:20','YYYY-MM-DD HH24:MI:SS'),
  to_date('2014-02-15 14:09:41','YYYY-MM-DD HH24:MI:ss'));
INSERT INTO firma
(kto,poczatek_czasu,koniec_czasu)
VALUES
('Ryszard', to_date('2014-02-15 14:09:41','YYYY-MM-DD HH24:MI:SS'),
  to_date('2014-02-15 14:09:58','YYYY-MM-DD HH24:MI:ss'));
INSERT INTO firma
(kto,poczatek_czasu,koniec_czasu)
VALUES
('Ryszard', to_date('2014-02-15 14:09:58','YYYY-MM-DD HH24:MI:SS'),
  to_date('2014-02-15 14:10:23','YYYY-MM-DD HH24:MI:ss'));

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0