我有一个关于 oracle 对日期进行算术的方式的问题(连接到 10g 数据库)。给出以下查询:
select DateX - DateY as Number_Of_Days from table
我的经验让我相信oracle会返回两个日期之间的天数差异(如果DateX早于DateY,则会返回负的天数)。
对于我的查询返回的大多数记录来说,这是事实。但是,我的数据集中有一条记录,其中 DateX = 19-JUN-08 和 DateY = 19-MAY-08 并且这两者的减法 = 365268。
有什么想法吗?
最佳答案
我会尝试一下。我认为您实际上将 1008 年 5 月 19 日作为您的另一个日期。
WolframAlpha.com 给出的从 1008 年 5 月 19 日到 2008 年 6 月 19 日的差异为 365,274 天。然而,那里有一些奇怪的日子。 1100年、1300年、1400年、1500年、1700年、1800年和1900年不是闰年。这相差了 7 天,这几乎就是您需要到达的地方。
关于oracle日期算术返回意外大的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17005672/