Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Lücken in Datumfeld finden (https://www.delphipraxis.net/199605-luecken-datumfeld-finden.html)

BlueStarHH 5. Feb 2019 15:55

Datenbank: Firebird • Version: 2.x • Zugriff über: IBDAC

Lücken in Datumfeld finden
 
Hallo,

ich habe eine Tabelle "Zeitraum" die unter anderem diese Felder und Daten beinhaltet:

Code:
ID  Von        Bis
------------------------
1    01.01.2017  31.01.2017
2    01.02.2017  31.03.2017
3    15.05.2017  18.07.2017
4    22.07.2017  25.08.2017
Wie kann ich alle Lücken in den angegebenen Daten finden? Hier fehlen:
Code:
01.05.2017 bis 14.05.2017
19.07.2017 bis 21.07.2017
Die Ergebnismenge sollen einzelne Tage oder fehlende Datumsbereiche sein. Je nachdem was einfacher in SQL umzusetzen ist.

Jumpy 5. Feb 2019 16:30

AW: Lücken in Datumfeld finden
 
ungefähr so?

SQL-Code:
Select Bis+1 as Von,
(Select Min(Von)-1 From Tabelle Where Von>T.Bis+1) as Bis
From Tabelle T
Where Bis+1 not in (Select Distinct Von From Tabelle)
Vorausgesetzt die Zeiträume sind immer disjunkt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz