Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORA-01843 :pas un mois valide

Dans vos contraintes de vérification, vous spécifiez TO_CHAR() avec un masque de format de date de 'YYYY/MM/DD HH:MI:SS AM' . Mais les valeurs que vous spécifiez pour la plage sont dans deux formats différents, par exemple

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

Je pense que ce serait une bonne idée de travailler avec des dates à la place, car les chaînes ne se compareront pas comme vous le pensez.

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')

Cependant, ce n'est peut-être pas la racine de votre problème. Il peut s'agir d'une conversion dans votre processus de chargement, c'est pourquoi nous devons savoir comment vous chargez les données.