【发布时间】:2018-12-09 13:01:41
【问题描述】:
我有一个我自己无法解决的 SQL 问题。问题是我需要在员工表中计算资历开始日期。
该表相当简单,它有 4 列,第五列用于计算资历。
业务逻辑如下: 如果员工在公司开始工作,在 6 个月内停止并重新开始工作,则他或她的资历从他或她在公司开始工作的第一个开始日期开始计算。 否则是新公司的开始日期。
我猜,我们需要将员工的开始日期与员工的最后停止日期进行比较。
【问题讨论】:
-
数据只是测试数据:)
-
这个问题是不是看不懂?
-
令人困惑的是,预期结果只有一个 Employee,但有 2 个 SeniorityStart 日期。双重资历?
-
是的,他有两个不同的资历开始日期。他的开始日期 (2019-05-01) 和最后结束日期 (2018-06-20) 之间的差异超过 6 个月,因此他的资历现在重新开始。
-
我不会在 SQL 中这样做。这更容易在您的应用程序代码中实现和测试。
标签: sql-server date business-logic