Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ORA-01843:kein gültiger Monat

In Ihren Check Constraints geben Sie TO_CHAR() mit einer Datumsformatmaske von 'YYYY/MM/DD HH:MI:SS AM' an . Aber die Werte, die Sie für den Bereich angeben, haben zwei verschiedene Formate, z. B.

'2005/01/01 00:00:01 AM' AND '12/31/2015 11:59:59 PM'

Ich denke, es wäre eine gute Idee, stattdessen mit Datumsangaben zu arbeiten, da sich Strings nicht so vergleichen lassen, wie Sie denken.

constraint rental_rental_date check(rental_date) 
    between to_date('2005/01/01 00:00:01 AM', 'YYYY/MM/DD HH:MI:SS AM') and
            to_date('2015/12/31 11:59:59 PM', 'YYYY/MM/DD HH:MI:SS AM')

Dies ist jedoch möglicherweise nicht die Wurzel Ihres Problems. Es kann sich um eine Konvertierung in Ihrem Ladeprozess handeln, weshalb wir wissen müssen, wie Sie die Daten laden.