Czy możesz podać mi kod SQL, aby podzielić zakresy dat, gdy się pokrywają?Zakres dat SQL Split
danych (przykładowe dane z zakresu dat i ewentualnie innych kolumnach):
Col1 FromDate ToDate
1. 1 1/1/2008 31/12/2010
2. 1 1/1/2009 31/12/2012
3. 1 1/1/2009 31/12/2014
wyjściowa:
Col1 From Date ToDate
1. 1 1/1/2008 31/12/2008 (from row 1 above)
2. 1 1/1/2009 31/12/2010 (from rows 1,2 and 3 above)
3. 1 1/1/2011 31/12/2012 (from rows 2 and 3 above)
4. 1 1/1/2013 31/12/2014 (from row 3 above)
Ok, nie mam pełną odpowiedź, ale oto kilka punktów do rozważenia. 1. Pierwszym blokiem czasu jest min (FromDate) z grupy tabel przez FromDate'print ("próbka kodu"); '2. Następnie koniec pierwszego bloku jest wybierany min (FromDate) z grupy tabel przez FromDate, gdzie FromDate> "początek bloku" 3. Powtórzyć w razie potrzeby. :) – Craig