我希望获得两个提供日期之间的总天数。我已经尝试了以下查询,但没有得到完全不同的;最后一个日期没有被包括在内。
select (to_date ('15-06-13','dd-MM-yyyy') - to_date('01-02-12','dd-MM-yyyy'))
from dual
这应该返回501天,但它将返回500天。如果我在计算后添加+1,那么我得到了正确的结果。
我真的需要包含+1,还是有其他方法来获得实际结果?
答案 0 :(得分:15)
在Oracle中,减去两个日期会返回两个日期之间的天数
minus
运算符的工作方式与数字相同:
20 - 20 = 0 ===> 2013-05-20 - 2013-05-20 = 0
25 - 20 = 5 ===> 2013-05-25 - 2013-05-20 = 5
如果您想加入last number
或last 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