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