ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
2169
2169
EMPFEHLEN
-
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.Code :1 2 3
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
-
Hatte nichts mit Schaltjahren zu tun. Es gab falsche Daten in den Feldern wie zB 31. November. Die Umrechnung ist an dieser Plausibilitätsprüfung gescheitert. Und logisch: Das eigentliche Problem ist, dass solche Werte entstehen können.
-
stimmt, die Tabelle enthält einen ungültigen Wert. Baue Dir ein Funktion, etwa so:
function str_to_date(datum in date) return date is
testdatum date;
begin
begin
testdatum := datum;
exception
when others then testdatum := null;
end;
return testdatum;
end;
select str_to_date(feld1), str_to_date(feld2)
from tab
where (str_to_date(datumfeld1,'yyyymmdd') - str_to_date(datumfeld2,'yyyymmdd')) <= 30;
so ist die Fehlermeldung weg und die falschen Datensätze findest du dort, wo str_to_date(feld1) oder str_to_date(feld2) null ist
Ähnliche Themen
-
Oracle, PL/SQL Datum zerschneiden
Von zuckerbrini im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 04.02.09, 12:37 -
oracle; datum formatieren
Von binfgi im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 17.08.06, 18:03 -
Datum Zeit In Oracle Db Eintragen
Von tobiastt im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 26.08.05, 14:23 -
Jahr und Tag von Datum abziehen
Von flotschie im Forum .NET ArchivAntworten: 3Letzter Beitrag: 08.02.05, 11:44 -
Tage abziehen vom Datum?! [MySQL]
Von Blaubmania im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 28.01.05, 11:07





Zitieren
Login





