[Oracle] Zusammengesetzte Daten

Communicate

Mitglied
Hallo zusammen,

ich bin am verzweifeln.

Folgendes Stück Code will einfach nicht funktionieren:

Code:
to_date(to_char(kundenstamm.vertragsbeginn,'dd.mm.') || to_char(SYSDATE,'YYYY'),'dd.mm.yyyy')

Die Fehlermeldung von Oracle lautet ORA-01861: Literal stimmt nicht mit dem Format der Zeichenfolge überein.

Ganz blauäugig wie ich bin, finde ich aber schon, dass mein zusammengesetzes Datum aussieht wie ein Datum ==> Es kommt ja dd.mm. + YYYY raus, oder?

Kann mir vielleicht einer von Euch einen Tip geben, wo mein Denkfehler liegt?

Grüße
Communicate
 
Zuletzt bearbeitet:
bei TO_DATE musst du noch das Datumsformat mitgeben. Ansonsten nimmt er wahrscheinlich das amerikanische Format...
SQL:
TO_DATE('05.01.2010', 'dd.mm.YYYY')

in deinem Fall also
SQL:
to_date(to_char(kundenstamm.vertragsbeginn,'dd.mm.') || to_char(SYSDATE,'YYYY'), 'dd.mm.YYYY')
 
Zuletzt bearbeitet von einem Moderator:
Hallo yaslaw,

danke für die schnelle antwort.

Hat leider nichts gebracht :-(
Fehler ist weiterhin der gleiche :-(


Hast Du noch eine Idee?

Grüße
Communicate
 
Ahhhhhh....

Fehler gefunden und neues Problem:

Das Feld ist leider nicht immer gefüllt, so dass es bei leeren Feldern korrekterweise zum Fehler kommt.

Wie bastle ich denn jetzt meine Codezeile so um, dass es nur die gefüllten Werte nimmt.
Funktioniert hier ein

Code:
select 
case when isnull ...
?
 
Da NVL nicht geht, weil du eine Funktion einsetzt, würd ich es auch mit CASE lösen
Null vergleichst du in Oracle mit IS NULL
Also
SQL:
SELECT
    CASE 
		WHEN ks.vertragsbeginn NOT IS NULL 
		THEN to_date(to_char(ks.vertragsbeginn,'dd.mm.') || to_char(SYSDATE,'YYYY'), 'dd.mm.YYYY') 
		ELSE NULL
	END AS new_vertragsbeginn
FROM
	kundenstamm ks;
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück