我想获取两个提供的日期之间的总天数。我试过下面的查询,但没有完全不同;最后日期不包括在内。

select (to_date ('15-06-13','dd-MM-yyyy') - to_date('01-02-12','dd-MM-yyyy'))
  from dual


这应该返回501天,但返回500天。如果我在计算后加+1,那么我得到正确的结果。

我是否真的需要包含+1或是否有其他方法来获取实际结果?

最佳答案

在Oracle中,减去两个日期将返回两个日期之间的天数。
minus运算符的工作方式与数字相同:

20 - 20 = 0   ===>      2013-05-20  -  2013-05-20 = 0
25 - 20 = 5   ===>      2013-05-25  -  2013-05-20 = 5


如果要包含last numberlast date,则需要添加1:

20 - 20 + 1 = 1   ===>      2013-05-20  -  2013-05-20  + 1 = 1
25 - 20 + 1 = 6   ===>      2013-05-25  -  2013-05-20  + 1 = 6

关于oracle - 获取Oracle中两个日期之间的天数,包括日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20721413/

10-11 02:53
查看更多