【发布时间】:2014-01-10 08:46:54
【问题描述】:
我想获取两个提供日期之间的总天数。我尝试了以下查询,但没有得到完全不同的结果;不包括最后日期。
select (to_date ('15-06-13','dd-MM-yyyy') - to_date('01-02-12','dd-MM-yyyy'))
from dual
这应该返回 501 天,但实际上返回的是 500 天。如果我在计算后加上 +1,那么我得到的结果是正确的。
我真的需要包含 +1 还是有其他方法来获得实际结果?
【问题讨论】:
-
返回 500 天,因为这就是区别 :-)。如果你希望它返回比差值多 1,那么你应该加 1,是的。
-
@Ben:我想说它没有添加结束日期(即 15-06-13)或开始日期(01-02-12)。我不想增加一天。参考这个链接timeanddate.com/date/…
-
链接显示“在计算中包括结束日期(添加1天)”;它明确告诉您将添加 1 天。这不是减法的默认行为来执行您的要求,10 - 4 是 6,而不是 5。如果您想更改默认行为,则必须手动进行。
标签: oracle oracle11g date-arithmetic