Wynik odejmowania dwoch dat jest wyrazony w dniach...
Tak wiec wynik rzedu 0,5 oznacza 12 godzin, 1/1440 oznacza minute a
1/86400 oznacza sekunde (zamiane na ulamek zwykly zostawiam Ci jako
zadanie domowe).
select (to_date ('2008-05-29 15:20:20','YYYY-MM-DD HH24:MI:SS')-to_date
('2008-05-29 15:20:00','YYYY-MM-DD HH24:MI:SS'))*86400
from dual;
A moze by tak jeszcze pobawis sie typami interwalowymi (od 9i w gore)?
Pozdro
Maseł
select sydate-d from dual;
da Ci róznicę między czasem systemowym i wartością daty w zmiennej (lub
kolumnie) d wyrażoną w dobach. Jeżeli chcesz to zamienić na sekundy
wystraczy wynik przemnozyc przez liczbę sekund w dobie i masz.
Jeżeli masz coś, co jest w formacie MM/DD/YYYY HH24/MI/SS (czyli zapewne
string), to trzeba to najpierw skonwertowac do daty, czyli:
select sysdate - to_date('12/31/2008 18/25/51','MM/DD/YYYY HH24:MI:SS')
from dual;
--
pozdrawiam,
Paweł Filipiak