2015-02-09 25 views
13

Oracle kullanmam gerekiyor, ancak DATEDIFF işlevi Oracle DB'de çalışmıyor.Oracle'da DATEDIFF işlevi

Aşağıdaki kodu Oracle'da nasıl yazılır? INTERVAL veya TRUNC kullanarak bazı örnekler gördüm.

SELECT DATEDIFF ('2000-01-01','2000-01-02') AS DateDiff; 
+1

olası yinelenen [2 tarih arasındaki farkı hesaplayın/Oracle SQL kez] (http://stackoverflow.com/questions/1096853/calculate- 2-date-times-in-oracle-sql arasındaki fark- – Jens

cevap

16

. Ayrıca, SQL Server veya MySQL'in aksine, Oracle'da from cümlesi olmadan select ifadesini gerçekleştiremezsiniz. Bu çevrede bir yolu yerleşik kukla tablo, dual kullanmaktır: bir

SELECT TO_DATE('2000-01-02', 'YYYY-MM-DD') - 
     TO_DATE('2000-01-01', 'YYYY-MM-DD') AS DateDiff 
FROM dual 
+1

Cevabınız için teşekkür ederiz! Yarın coz deneyeceğim Bilgisayarımda sadece SQL server var. Zaman ve açıklama için tekrar teşekkürler ~ :) – user3601310

3

Sadece iki tarih çıkartabilirsiniz. Sen to_date kullanarak, ilk dökmeyi vardır:

select to_date('2000-01-01', 'yyyy-MM-dd') 
     - to_date('2000-01-02', 'yyyy-MM-dd') 
     datediff 
from dual 
; 

sonuç günlerde ise, bu iki tarih arasında fark -1 (isterseniz iki tarihleri ​​takas olabilir) 'dir. Eğer saat içinde olmasını isterseniz, sadece sadece iki tarihleri ​​çıkarma 24.

+0

Cevabınız için teşekkür ederiz! Yarın coz deneyeceğim Bilgisayarımda sadece SQL server var. Zaman ve açıklama için tekrar teşekkürler ~ :) – user3601310

4

ile sonucu çarpın:

select date '2000-01-02' - date '2000-01-01' as dateDiff 
from dual; 

sonuç günlerde fark olacaktır.

fazla detay kılavuzda şunlardır: Oracle olarak, sadece iki tarihleri ​​çıkarma ve gün farkını alabilirsiniz
https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#i48042

+0

Cevabınız için teşekkür ederiz! Yarın coz deneyeceğim Bilgisayarımda sadece SQL server var. Zaman ayırdığınız için tekrar teşekkürler ~ :) – user3601310

+1

@ user3601310: 'yarın coz' nedir? (coz, "kusma" için almanca kelime gibi ses çıkarır ....) –

+0

O, 'çünkü' anlamına geliyordu ... –