Mam problem z odejmowanie dat w zapytaniu sql.
Dwie kolumny:
POCZATEK DATE
KONIEC DATE
Przykład:
POCZATEK: 2018-11-20 14:45:35
KONIEC: 2018-11-20 14:48:00
I jako wynik chciałbym w minutach:
- 2,25
- lub druga opcja zaokrąglić do minut: 2 minuty
Mam problem z odejmowanie dat w zapytaniu sql.
Dwie kolumny:
POCZATEK DATE
KONIEC DATE
Przykład:
POCZATEK: 2018-11-20 14:45:35
KONIEC: 2018-11-20 14:48:00
I jako wynik chciałbym w minutach:
Ok pokaż kod.
Myślałem, żeby tak wyliczyć:
, (KONIEC- POCZATEK) * 24 * 60 as CZAS
Ale dla przykładu: 14:47:00 - 14:45:38
Wychodzi mi: 1,36666
W sumie dobrze, tylko liczba po przecinku nie jest tak jakby sekundami.
Należałoby jakoś wyliczyć oddzielnie minuty a oddzielne sekundy?
Jak pomnożę dodatkowo o 60 czyli ...2460*60 to faktycznie mam w sekundach wynik czyli 82,00
Tylko zastanawiam się jak poprawnie pokazać minuty i sekundy w jednej kolumnie?
Może zrób to tak:
SELECT (TO_TIMESTAMP ('2018-11-20 14:48:00', 'yyyy-mm-dd hh24:mi:ss') - TO_TIMESTAMP ('2018-11-20 14:45:35', 'yyyy-mm-dd hh24:mi:ss')) czas
FROM tabela
albo:
with baza as (
select to_date('2018-11-20 14:45:35', 'yyyy-mm-dd hh24:mi:ss') ds, to_date('2018-11-20 14:48:00', 'yyyy-mm-dd hh24:mi:ss') dk from dual
)
select dk, ds,
floor((dk-ds)*60*24)||':'||trunc((((dk-ds)*60*24)-floor((dk-ds)*60*24))*60) czas
from baza ;
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.