0
我被困在一些看起来在DB2简单,这是我的表SQL连续日期范围
ID | BEG_DT | END_DT
---- ------------------------- -------------------------
1 | 2016-09-01 00:00:00.0 | 2016-09-30 00:00:00.0
2 | 2016-10-01 00:00:00.0 | 2016-10-31 00:00:00.0
3 | 2016-12-01 00:00:00.0 | 2016-12-31 00:00:00.0
4 | 2017-01-01 00:00:00.0 | 2017-01-31 00:00:00.0
5 | 2017-02-01 00:00:00.0 | 2017-02-28 00:00:00.0
6 | 2017-04-01 00:00:00.0 | 2017-04-30 00:00:00.0
7 | 2017-05-01 00:00:00.0 | 2017-05-31 00:00:00.0
8 | 2017-06-01 00:00:00.0 | 2017-06-30 00:00:00.0
9 | 2017-07-01 00:00:00.0 | null
我想返回开始日期和结束日期,例如连续周期的查询,在这种情况下,查询需要返回:
BEG_DT |END_DT
------------------------- |-------------------------
2016-09-01 00:00:00.0 |2016-10-31 00:00:00.0
2016-12-01 00:00:00.0 |2017-02-28 00:00:00.0
2017-04-01 00:00:00.0 |null
SQL Server或DB2? – GurV
这是“缺口和岛屿”问题。如果你知道它叫什么,搜索起来会更容易。 :) – Donnie
在这里可以找到很棒的(免费的)SQL Cookbook中的“查找时间序列中的差距”一章,也就是http://www.ids-system.de/db2-luw-fuer-die- eigene-ausbildung#sql – MichaelTiefenbacher