Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-01843:não é um mês válido


Em suas restrições de verificação, você especifica TO_CHAR() com uma máscara de formato de data de 'YYYY/MM/DD HH:MI:SS AM' . Mas os valores que você especifica para o intervalo estão em dois formatos diferentes, por exemplo.
'2005/01/01 00:00:01 AM' AND '12/31/2015 11:59:59 PM'

Acho que seria uma boa ideia trabalhar com datas, pois as strings não se comparam da maneira que você acha que elas fazem.
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')

No entanto, isso pode não ser a raiz do seu problema. Pode ser uma conversão em seu processo de carregamento, e é por isso que precisamos saber como você está carregando os dados.