sql >> Database >  >> RDS >> Oracle

ORA-01843:geen geldige maand

In uw controlebeperkingen specificeert u TO_CHAR() met een datumformaatmasker van 'YYYY/MM/DD HH:MI:SS AM' . Maar de waarden die u opgeeft voor het bereik zijn in twee verschillende formaten, bijvoorbeeld

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

Ik denk dat het een goed idee zou zijn om in plaats daarvan met datums te werken, omdat strings niet vergelijkbaar zijn met de manier waarop je denkt dat ze dat doen.

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

Dit is echter mogelijk niet de oorzaak van uw probleem. Het kan een conversie zijn in uw laadproces, daarom moeten we weten hoe u de gegevens laadt.




  1. order_by op Many-to-Many-veld resulteert in dubbele vermeldingen in queryset

  2. Abstracte klasse van UML naar ER-diagram. Mogelijk ? Hoe?

  3. count(*) kan niet worden geselecteerd in PL/SQL

  4. iptables:poorten dupliceren/doorsturen