En sus restricciones de verificación, especifica TO_CHAR() con una máscara de formato de fecha de 'YYYY/MM/DD HH:MI:SS AM'
. Pero los valores que especifica para el rango están en dos formatos diferentes, por ejemplo,
'2005/01/01 00:00:01 AM' AND '12/31/2015 11:59:59 PM'
Creo que sería una buena idea trabajar con fechas, ya que las cadenas no se compararán de la forma en que crees que lo hacen.
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')
Sin embargo, esto puede no ser la raíz de su problema. Puede ser una conversión en su proceso de carga, por lo que necesitamos saber cómo está cargando los datos.