【发布时间】:2017-10-16 10:08:54
【问题描述】:
第一期的日期是加入日期。客户必须分期付款 10 次。每个月的每一期。因此,11 个月后,客户有资格以节省的金额购买产品。因此,到期日为加入日期后的 11 个月。 加入日期示例:2016 年 9 月 12 日 到期日:2017 年 7 月 12 日
如果客户在预定日期或当月到期日的任何一天付款,请不要延长到期日,否则到期日会延长。
Scenario 1: Pays on time
------------------------
Joining date: 12/Sep/2016
Expected output: 12/Jul/2017
加入日期 2016 年 9 月 12 日
Inst 没有付款日期 实际付款日期 考虑月份
1 2016 年 9 月 12 日 2016 年 9 月 12 日 2016 年 9 月
2 2016 年 10 月 5 日 2016 年 10 月 12 日 2016 年 10 月
3 2016 年 11 月 21 日 2016 年 11 月 12 日 2016 年 11 月
4 2016 年 12 月 12 日 2016 年 12 月 12 日 2016 年 12 月
5 2017 年 1 月 2 日 2017 年 1 月 12 日 2017 年 1 月
6 2017 年 2 月 2 日 2017 年 2 月 12 日 2017 年 2 月
7 2017 年 3 月 6 日 2017 年 3 月 12 日 2017 年 3 月
8 2017 年 4 月 6 日 2017 年 4 月 12 日 2017 年 4 月
9 2017 年 5 月 1 日 2017 年 5 月 12 日 2017 年 5 月
10 2017 年 6 月 7 日 2017 年 6 月 12 日 2017 年 6 月
到期日 2017 年 7 月 12 日
Scenario 2: when payments paid with delay
-----------------------------------------
Joining date: 12/Sep/2016
Expected output: 12/Sep/2017
加入日期 12/Sep/2016
Inst 没有付款日期 实际日期 考虑付款月份
1 2016 年 9 月 12 日 2016 年 9 月 12 日 2016 年 9 月
2 2016 年 10 月 5 日 2016 年 10 月 12 日 2016 年 10 月
3 2016 年 11 月 21 日 2016 年 11 月 12 日 2016 年 11 月
4 2017 年 2 月 2 日 2016 年 12 月 12 日 2017 年 2 月
5 2017 年 2 月 2 日 2017 年 1 月 12 日 2017 年 3 月
6 2017 年 3 月 6 日 2017 年 2 月 12 日 2017 年 4 月
7 2017 年 3 月 6 日 2017 年 3 月 12 日 2017 年 5 月
8 2017 年 6 月 1 日 2017 年 4 月 12 日 2017 年 6 月
9 2017 年 6 月 1 日 2017 年 5 月 12 日 2017 年 7 月
10 2017 年 8 月 7 日 2017 年 6 月 12 日 2017 年 8 月
到期日 2017 年 9 月 12 日
【问题讨论】:
-
使用表结构和示例数据发布 SQL 将帮助我们获得解决方案,更详细的规则描述会有所帮助,据我所知,该规则似乎适用于每个月的错过付款延长一个月。
标签: sql sql-server-2008