W ograniczeniach sprawdzania określasz TO_CHAR() z maską formatu daty 'YYYY/MM/DD HH:MI:SS AM'
. Ale wartości, które określasz dla zakresu, są w dwóch różnych formatach, np.
'2005/01/01 00:00:01 AM' AND '12/31/2015 11:59:59 PM'
Myślę, że dobrym pomysłem byłoby zamiast tego pracować z datami, ponieważ łańcuchy nie będą porównywać w sposób, w jaki myślisz, że robią.
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')
Jednak może to nie być źródłem twojego problemu. Może to być konwersja w procesie ładowania, dlatego musimy wiedzieć, w jaki sposób ładujesz dane.