【发布时间】:2021-12-30 08:32:18
【问题描述】:
我想添加一个新列,该列应包含两个单独列中的 startdate 和 enddate 之间的月份。
我当前的数据看起来像这样:
| Case | Name | StartDate | EndDate |
|---|---|---|---|
| 1 | ABC | 2021-01-15 | 2021-03-15 |
| 2 | DEF | 2021-03-15 | 2021-05-15 |
我想要的输出是:
| Case | Name | StartDate | EndDate | MonthList |
|---|---|---|---|---|
| 1 | ABC | 2021-01-01 | 2021-03-15 | 2021-01-15 |
| 1 | ABC | 2021-01-01 | 2021-03-15 | 2021-02-15 |
| 1 | ABC | 2021-01-01 | 2021-03-15 | 2021-03-15 |
| 2 | DEF | 2021-03-01 | 2021-05-15 | 2021-03-15 |
| 2 | DEF | 2021-03-01 | 2021-05-15 | 2021-04-15 |
| 2 | DEF | 2021-03-01 | 2021-05-15 | 2021-05-15 |
【问题讨论】:
-
请确保包括所有边缘情况,例如当范围小于一个月或一年以上,或者开始日期和结束日期不完全相隔一个月,或者任一日期落在 15 日以外的日期时。如果您只向我们展示您的两行,我们需要对所有其他行做出很多假设,而且我们错误的可能性要大于正确的可能性。
标签: sql sql-server date