【发布时间】:2021-12-28 02:40:01
【问题描述】:
请分享您对此问题的反馈。我需要计算“年”的差异并将其存储在新的“年龄”列下。
虽然公式工作正常,但当我考虑从任何一年的 1 月 1 日开始的日期时,它给出的输出不正确
例如:2019 年 1 月 1 日和 2021 年 12 月 31 日之间的年差为 3 年 - 这包括计算中的结束日期。我的结果显示 2 年。
这是我从中得出差异的 2 个日期列:
但是,当我考虑从 1 月 1 日开始的日期时 - 结果显示我少了一年:
这是我用来计算差异的代码:
UPDATE animals
SET age = abs(benchmarkdate :: date - birthdate :: date)/ 365;
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
我猜你的要求有点不同,因为当生日在 1 月 1 日时,你想要差异 + 1,否则只是差异。在这种情况下,您可以使用 where 条件并实现此目的。
标签: sql postgresql date