Danke fuer die vielen inspirierenden Antworten!
Ich habe mir jetzt eine Loesung zusammengebaut, welche das gewuenschte Ergebnis liefert: Die Tage ohne Eintragung ueber einen gewissen Zeitraum!
So siehts aus:
SQL-Code:
DECLARE @begindate DATETIME
DECLARE @begindate_end DATETIME
DECLARE @enddate DATETIME
DECLARE @i INT
DECLARE @diffdays INT
SET @i = 1
SET @begindate='2011-01-01 00:00:00'
SET @enddate='2012-02-17 23:59:59'
SET @diffdays=DATEDIFF(DAY, @begindate, @enddate)
WHILE (@i <= @diffdays+1)
BEGIN
SET @begindate_end = DATEADD(HOUR,23,@begindate)
SET @begindate_end = DATEADD(MINUTE,59,@begindate_end)
IF NOT EXISTS (
SELECT [telefonate]FROM [ABC].[dbo].[t_telefonate] WHERE LappenID = 2 AND FirstTime BETWEEN @begindate AND @begindate_end)
BEGIN
PRINT '*** Row NOT found between:'
PRINT @begindate
PRINT @begindate_end
PRINT '----------------------------'
END
SET @begindate = DATEADD(DAY,1,@begindate)
SET @i = @i + 1
END
Im Prinzip ganz einfach:
- Den Zeitraum bestimmen
- Differenz in Tagen ermitteln
- Schleife ueber den Zeitraum
- Den Tag von 0 Uhr bis 23:59 pruefen, kommt nix zurueck existiert kein Eintrag fuer den Tag
- Tagescounter hochzaehlen
Bestimmt unter aller Sau, funktioniert aber erstmal