【发布时间】:2019-09-18 11:05:24
【问题描述】:
我有一个表格,例如以下数据:
ID |start_date |end_date |amount
---|------------|-----------|--------
1 |2019-03-21 |2019-05-09 |10000.00
2 |2019-04-02 |2019-04-10 |30000.00
3 |2018-11-01 |2019-01-08 |20000.00
我希望根据年/月以正确的计算量取回拆分的记录。
我希望结果是这样的:
ID |month |year |amount
---|------|-------|--------
1 |3 | 2019 | 2200.00
1 |4 | 2019 | 6000.00
1 |5 | 2019 | 1800.00
2 |4 | 2019 |30000.00
3 |11 | 2018 | 8695.65
3 |12 | 2018 | 8985.51
3 |1 | 2019 | 2318.84
实现这一目标的最佳方法是什么?我认为您必须使用 DATEDIFF 来获取 start_date 和 end_date 之间的天数来计算每天的金额,但我不知道如何将其作为每月/每年的记录返回。
Tnx 提前!
【问题讨论】:
-
你有日历表吗,或者你可以创建一个吗?
标签: sql-server tsql date-range