Ich möchte ein Datum von einem anderen im gleichen record abziehen. Dabei suche ich nach Sätzen, bei denen die Differenz maximal einen Monat beträgt. Beide Datumsfelder sind vom Typ NUMBER(8). Sie enthalten keine völlig kaputten Einträge, inhaltlich gehen sie von 19180101 bis 20991231. Das statement geht so:
Wenn ich die Abfrage mit where systemnummer=nnn auf mir bekannte Sätze einschränke, klappt das auch. Das bedeutet, dass die Syntax eigentlich ok ist. Wenn ich die Abfrage aber auf die ganze Tabelle loslasse, erscheint die Fehlermeldung.
ORA-01839: date not valid for month specified
Kann das an Schaltjahren oder sowas liegen? Wie klappt die Berechnung über die ganze Tabelle?
Dank und Gruss
Marcus
Code:
select feld1, feld2
from tab
where (to_date(datumfeld1,'yyyymmdd') - to_date(datumfeld2,'yyyymmdd')) <= 30;
ORA-01839: date not valid for month specified
Kann das an Schaltjahren oder sowas liegen? Wie klappt die Berechnung über die ganze Tabelle?
Dank und Gruss
Marcus