2013-01-08 151 views
3

可能重複:
Calculate difference between 2 date/times in Oracle SQLOracle日期差異SQL查詢

我有哪裏PurchasedDate保持的表。我必須從系統中獲取日期並計算日期差異。 datediff()在我在Oracle工作時沒有給出結果。

樣品表:

 
ProductID Date 
P101  31-DEC-2012 
P102  29-DEC-2011 

如果今天返回P102,差別應該是10

下面是詳細說明

 
BillID  ProductID Date 
101   P101  31-DEC-2012 
101   P102  31-DEC-2012 
102   P405  29-JUN-2012 
102   P210  29-JUN-2012 
105   P205   2-MAY-2012 

如果客戶來retun產品P101與BillNo 101,那麼系統應計算返還日期(系統日期)和購買日期之間的差額。 P101的答案應該是10,如果它在2012年1月8日返回

+5

爲什麼10計算Oracle日期差異良好的信息?我不知道。 –

+0

當P102於1月8日返回時,由於購買日期爲12月29日,所以差額爲10。 –

回答

11

嘗試

SELECT trunc(sysdate) - PurchasedDate 
    FROM table_name; 
+0

哇!精湛!它的作品!非常感謝! –

3

在Oracle中,您可以只減去日期。這會在幾天內給你答案。

例如假設你的意思是2012年12月29日,而不是2011年12月29日!

select trunc(sysdate) - your_date from your_table; 


SQL> select trunc(sysdate) - to_date('29-dec-2012', 'dd-mon-yyyy') from dual; 

TRUNC(SYSDATE)-TO_DATE('29-DEC 
------------------------------ 
          10 
+0

該表是銷售表的一部分。 BillId和ProductID將形成主鍵。如果客戶想要退貨,則從表格中獲取購買日期,並從系統中提取日期,並計算差異。 –