ora-01841 volle Jahr muss zwischen 4713 und 9999 und nicht 0

Ich habe auf einer Abfrage, die machen mich verrückt, weil ich konnte nicht scheinen, um zu verstehen, die Fehlermeldung: mein query ist:

SELECT  MYTABLE." ID ", 


  NVL(max(TO_DATE(TO_CHAR(ADD_MONTHS(MYTABLE." XISSU_DT " ,MYTABLE." XTNR "), 'DD/MM/YYYY'),'DD/MM/YYYY')),  TO_DATE(SYSDATE , 'DD/MM/YYYY') )  MAXLASTINSDATE,

   TO_DATE(SYSDATE , 'DD/MM/YYYY'), 


      (TO_CHAR (TO_DATE(SYSDATE , 'DD/MM/YYYY')
           - TO_DATE(NVL(max(TO_DATE(TO_CHAR(ADD_MONTHS(MYTABLE." XISSU_DT " ,MYTABLE." XTNR "), 'DD/MM/YYYY'),'DD/MM/YYYY')),  TO_DATE(SYSDATE , 'DD/MM/YYYY') ) , 'DD/MM/YYYY')) * -1) MaturityPeriod


     FROM MYTABLE
where  
MYTABLE." STATUS " = 'A'
group by MYTABLE." ID "

die Fehler, die ich bekomme, ist:

ora-01841 full year must be between 4713 and 9999 and not be 0

Ihre Hilfe wirklich zu schätzen!

  • sysdate ist schon ein Datum! Nicht TO_DATE(SYSDATE , 'DD/MM/YYYY'), nur finden Sie es direkt. (Ich werde nicht mal Fragen, warum du Spaltennamen mit Leerzeichen, so....) Was ist Ihnen aktuelle NLS_DATE_FOIRMAT Einstellung?
  • Vielleicht mehr relevant, was ist der größte Wert, den Sie für " XTNR ". Wenn das"s sehr groß (vielleicht Zehntausende) dann könnte man wohl nur einstellen " XISSU_DT " um ein ungültiges Datum.
  • Haben Sie wirklich Bezeichner mit führende und nachfolgende Leerzeichen? Aufruf Spalten Dinge wie " ID " ist der Wahnsinn.
InformationsquelleAutor user2597012 | 2017-12-08
Schreibe einen Kommentar