Hallo,
Zitat von
PASST:
Irgendwas muss mit den Daten nicht stimmen!
Das sehe ich auch so.
kannst Du aus dieser Zeile
EXEC @ISOWeek = ISOWeek @DATE2
irgendwie @DATE2 ausgeben?
Notfalls vor dem Exec in eine Tabelle schreiben.
So nach dem Motto:
create table pruefmalwas (Datum Varchar(200));
Dieser Tabelle einen Datensatz gönnen:
Insert into pruefmalwas values ('01.01.1900');
Deine Funktion vor dem EXEC um ein
Update pruefmalwas set Datum = @DATE2;
ergänzen.
Dann sollte in der Tabelle der Wert stehen, der zu dem Fehler führt. Eventuell musst da aber noch ein Commit gemacht werden.
Der Fehler muss in den 2009er Daten liegen, sind das viele Daten oder kannst Du die auch von Hand überprüfen?
Ansonsten:
SQL-Code:
select dbo.fn_ISOweek(Datum)
from Tabelle
where year(Datum) = 2008
and month(Datum) = 1
und das dann für alle Monate, bis es kracht und dann notfalls auch noch für den betreffenden Monat für alle Tage.
Monate könntest Du auch mit < 7 anfangen, wenn kein Fehler > 6 und so an den Fehler herantasten.
Welchen Datentyp hat Datum in der Datenbank?