【发布时间】:2021-06-14 19:39:31
【问题描述】:
我有一个查询返回这个结果:
| EmpNo | EmpName | Years | Months | Days |
|---|---|---|---|---|
| 111 | Ahmed | 0 | 14 | 39 |
在这种情况下,我有 14 个月,所以它应该在 years 字段中添加一年并保持 2 月字段中的月,我有39天,所以它应该在月字段中添加一个月,而在天字段中仍然是9天
我如何重新计算年、月和日以获得这样的查询结果:
| EmpNo | EmpName | Years | Months | Days |
|---|---|---|---|---|
| 111 | Ahmed | 1 | 2 | 9 |
【问题讨论】:
-
也许您应该从某个日期开始,例如 1-1-1970,然后将所有位添加到其中(例如添加月份 14),然后提取结果与 1970 年 1 月 1 日之间的差异并提取位.. 事情是,由于月份位,结果可能会有所不同,因为一个月的天数是可变的(1 月 1 日和 2 月 1 日之间的天数与 2 月 1 日和 3 月 1 日之间的天数不同)。如果它是例如“服务期限”,如果您不能容忍近似值,您可能应该使用开始日期(如果知道)
-
就您的“39 天”解释而言:这是否意味着在这个问题中所有月份都有 30 天?
-
并非所有案件都有 39 天,可能更少或更多
-
如果你能提供你的数据来自哪里会更好,这样我们就可以建议一个 e2e 解决方案。