Oracle日期差异SQL查询

时间:2013-01-08 15:04:53

标签: sql oracle date-arithmetic

  

可能重复:
  Calculate difference between 2 date / times in Oracle 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

如果客户使用BillNo 101重新调用产品P101,则系统应计算返还日期(系统日期)与购买日期之间的差异。如果P101在2012年1月8日返回,答案应为10

3 个答案:

答案 0 :(得分:11)

SELECT trunc(sysdate) - PurchasedDate 
  FROM table_name;

答案 1 :(得分:3)

在Oracle中,您只需减去日期即可。这会在几天内给你一个答案。

例如假设您的意思是29-dec-2012而不是29-dec-2011!

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

答案 2 :(得分:0)

您可以从以下链接中找到有关计算oracle日期差异的详细信息

How To Calculate Difference Between Dates in Oracle SQL