【发布时间】:2022-10-21 21:20:54
【问题描述】:
我有一个如下表:
| ID | Date |
|---|---|
| 1 | 2022-01-01 |
| 2 | 2022-03-21 |
我想根据日期添加一个新列,它应该看起来像这样
| ID | Date | NewCol |
|---|---|---|
| 1 | 2022-01-01 | 2022-02-01 |
| 1 | 2022-01-01 | 2022-03-01 |
| 1 | 2022-01-01 | 2022-04-01 |
| 1 | 2022-01-01 | 2022-05-01 |
| 2 | 2022-03-21 | 2022-04-21 |
| 2 | 2022-03-21 | 2022-05-21 |
假设有一个@EndDate = 2022-05-31(这就是它应该停止的地方)
我很难弄清楚如何在 SSMS 中做到这一点。将不胜感激任何见解!谢谢 :)
【问题讨论】:
-
你需要解释这里的逻辑。
-
您需要将所有
Months添加为两个日期值之间的日期吗? -
2022-01-31 怎么样?应该添加哪些日期?因为没有 2022-02-31,也没有 2022-04-31。
-
如果是这种情况,您可以使用
DATEADD(month, 1, dateColumn)
标签: sql sql-server ssms