Der Fehler, den Sie erhalten, liegt entweder daran, dass Sie TO_DATE
ausführen in einer Spalte, die bereits ein Datum ist, und Sie verwenden eine Formatmaske, die sich von Ihrem nls_date_format
unterscheidet parameter[1] oder weil die Spalte event_occurrence Daten enthält, die keine Zahl sind.
Sie müssen a) Ihre Abfrage so korrigieren, dass TO_DATE nicht in der Datumsspalte verwendet wird, und b) Ihre Daten korrigieren, wenn event_occurrence nur aus Zahlen bestehen soll.
Und korrigieren Sie den Datentyp dieser Spalte, um sicherzustellen, dass Sie nur Zahlen speichern können.
[1] Was Oracle tut, wenn Sie es tun:TO_DATE(date_column, non_default_format_mask)
ist:TO_DATE(TO_CHAR(date_column, nls_date_format), non_default_format_mask)
Im Allgemeinen das standardmäßige nls_date_format
Parameter ist auf dd-MON-yy
gesetzt , also wird in Ihrer Abfrage wahrscheinlich Ihre Datumsspalte in eine Zeichenfolge im Format TT-MON-JJ konvertiert, und Sie wandeln sie dann wieder in ein Datum um, das das Format MMTT verwendet. Die Zeichenfolge hat nicht dieses Format, daher erhalten Sie eine Fehlermeldung.