【发布时间】:2021-01-14 22:40:20
【问题描述】:
ID EFF_DT END_DT
FLA1 2018-01-01 00:00:00 2019-12-31 00:00:00
FLA1 2020-01-01 00:00:00 9999-12-31 00:00:00
以上结构需要拆分。并且拆分应该基于日期。
输出应该有额外的列作为年份
ID EFF_DT END_DT YEAR
FLA1 2018-01-01 00:00:00 2019-12-31 00:00:00 2019
FLA1 2020-01-01 00:00:00 2020-12-31 00:00:00 2020
FLA1 2021-01-01 00:00:00 9999-12-31 00:00:00 2021
我为此目的使用联合,它正在生成重复项。任何其他方法/改进解决方案都可以。提前致谢。
【问题讨论】:
-
为什么第二行(来自“上面的结构”)被分成两行?为什么不进入 9999 - 2020 = 7979 行?哪些规则从输入引导到期望的输出?
-
上一年应该是记录 1 ,记录 2 应该是当前一年,记录 3 应该是未来一年
标签: sql oracle datetime join union