Potrzebuję użyć Oracle, ale funkcja DATEDIFF nie działa w Oracle DB.Funkcja DATEDIFF w Oracle
Jak napisać poniższy kod w Oracle? Widziałem kilka przykładów przy użyciu INTERVAL lub TRUNC.
SELECT DATEDIFF ('2000-01-01','2000-01-02') AS DateDiff;
Potrzebuję użyć Oracle, ale funkcja DATEDIFF nie działa w Oracle DB.Funkcja DATEDIFF w Oracle
Jak napisać poniższy kod w Oracle? Widziałem kilka przykładów przy użyciu INTERVAL lub TRUNC.
SELECT DATEDIFF ('2000-01-01','2000-01-02') AS DateDiff;
W Oracle, można po prostu odejmować dwie daty i uzyskać różnicę dni. Należy również zauważyć, że w przeciwieństwie do SQL Server lub MySQL, w Oracle nie można wykonać instrukcji select
bez klauzuli from
. Jednym rozwiązaniem jest użycie wbudowanego obojętne stół dual
:
SELECT TO_DATE('2000-01-02', 'YYYY-MM-DD') -
TO_DATE('2000-01-01', 'YYYY-MM-DD') AS DateDiff
FROM dual
Dziękuję za odpowiedź! Wypróbuję to jutro. Mam tylko serwer SQL na moim komputerze. Jeszcze raz dziękuję za poświęcony czas i wyjaśnienie ~ :) – user3601310
Możesz po prostu odjąć dwie daty. Trzeba oddać go najpierw, używając to_date
:
select to_date('2000-01-01', 'yyyy-MM-dd')
- to_date('2000-01-02', 'yyyy-MM-dd')
datediff
from dual
;
Rezultatem jest w dniach, do różnicy tych dwóch dat jest -1
(można zamienić dwie daty, jeśli chcesz). Jeśli chcesz mieć go w godzinach, po prostu pomnożyć wynik z 24.
Dziękuję za odpowiedź! Wypróbuję to jutro. Mam tylko serwer SQL na moim komputerze. Jeszcze raz dziękuję za poświęcony czas i wyjaśnienie ~ :) – user3601310
Wystarczy odjąć dwie daty:
select date '2000-01-02' - date '2000-01-01' as dateDiff
from dual;
Rezultatem będzie różnica w dniach.
Więcej szczegółów w instrukcji:
https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#i48042
Dziękuję za odpowiedź! Wypróbuję to jutro. Mam tylko serwer SQL na moim komputerze. Jeszcze raz dziękuję za Twój czas w linku ~ :) – user3601310
@ user3601310: co to jest "jutrzejszy coz"? (coz brzmi jak niemieckie słowo "wymiotować" ...) –
Miał na myśli "ponieważ" ... –
możliwie duplikat [Obliczyć różnicę pomiędzy 2 daty/czasu w SQL Oracle] (http://stackoverflow.com/questions/1096853/calculate- różnica-między-2-data-razy-w-oracle-sql) – Jens