Ve svých kontrolních omezeních zadáte TO_CHAR() s maskou formátu data 'YYYY/MM/DD HH:MI:SS AM'
. Ale hodnoty, které zadáte pro rozsah, jsou ve dvou různých formátech, např.
'2005/01/01 00:00:01 AM' AND '12/31/2015 11:59:59 PM'
Myslím, že by bylo dobré místo toho pracovat s daty, protože řetězce se nebudou porovnávat tak, jak si myslíte.
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')
To však nemusí být kořenem vašeho problému. Může to být konverze v procesu načítání, a proto potřebujeme vědět, jak načítáte data.