Oracle kullanmam gerekiyor ancak DATEDIFF işlevi Oracle DB'de çalışmıyor.
Oracle'da aşağıdaki kod nasıl yazılır? INTERVAL veya TRUNC kullanan bazı örnekler gördüm.
SELECT DATEDIFF ('2000-01-01','2000-01-02') AS DateDiff;
Oracle'da, iki tarihi basitçe çıkarabilir ve gün cinsinden farkı elde edebilirsiniz. Ayrıca SQL Server ya da MySQL'den farklı olarak Oracle'da from
cümlesi olmadan select
deyimi gerçekleştiremeyeceğinizi unutmayın. Bunu aşmanın bir yolu, yerleşik kukla tablo dual
kullanmaktır:
SELECT TO_DATE('2000-01-02', 'YYYY-MM-DD') -
TO_DATE('2000-01-01', 'YYYY-MM-DD') AS DateDiff
FROM dual
Sadece iki tarihi çıkarın:
select date '2000-01-02' - date '2000-01-01' as dateDiff
from dual;
Sonuç, günler arasındaki fark olacaktır.
Daha fazla ayrıntı kılavuzda yer almaktadır:
https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#i48042
İki tarihi basitçe çıkarabilirsiniz. Önce to_date
kullanarak döküm yapmanız gerekir:
select to_date('2000-01-01', 'yyyy-MM-dd')
- to_date('2000-01-02', 'yyyy-MM-dd')
datediff
from dual
;
Sonuç gün cinsindendir ve bu iki tarihin farkı -1
dir (isterseniz iki tarihi değiştirebilirsiniz). Saat cinsinden olmasını isterseniz, sonucu 24 ile çarpmanız yeterlidir.