【发布时间】:2021-06-02 19:36:57
【问题描述】:
在下表中,如何在 START_DATE 和 END_DATE 列之间插入包含年份的第一个和最后一个日期的行?
| EMPID | EMPNAME | START_DATE | END_DATE |
|---|---|---|---|
| 1001 | Shivansh | 2015-09-01 | 2018-03-31 |
| 1004 | Mayank | 2019-04-01 | 2020-06-30 |
输出应如下所示:
| EMPID | EMPNAME | START_DATE | END_DATE |
|---|---|---|---|
| 1001 | Shivansh | 2015-09-01 | 2015-12-31 |
| 1001 | Shivansh | 2016-01-01 | 2016-12-31 |
| 1001 | Shivansh | 2017-01-01 | 2017-12-31 |
| 1001 | Shivansh | 2018-01-01 | 2018-03-31 |
| 1004 | Mayank | 2019-04-01 | 2019-12-31 |
| 1004 | Mayank | 2020-01-01 | 2020-06-30 |
这必须使用循环来实现,因为 Azure Synapse Analytics 不支持递归公用表表达式
【问题讨论】:
-
理货表?这个answer 显示了类似的东西。
-
@DaleK 谢谢,但我需要这个用于 Azure 突触,日期要更新
-
@wBob 我知道要接受答案,我必须单击答案旁边的正确标记。而且我还没有标记任何答案,因为我已经得到了答案并且也分享了相同的答案。
标签: sql-server common-table-expression azure-synapse recursive-cte