Nie masz problemu z „dwoma ostatnimi”.
Jednak masz problem ze wszystkimi z nich, ale jeden punkt po drugim.
Daty dosłowne zależą od kultury Twojego systemu
Twoje daty są interpretowane jako MM-DD-RRRR. Ta interpretacja zależy od kultury twojego systemu. Pierwsze trzy zamieniają się w złe daty, ale działają. Czwarty łamie się, a piąty nigdy nie jest wykonywany (z powodu wcześniejszego błędu).
Tak więc rzeczywisty błąd leży w wierszu 4.
Zawsze, gdy masz do czynienia z datami, używaj formatów niezależnych od kultury. Lepiej jest użyć jednego z poniższych:
format uniwersalny
20150730 (=> the 30th of July in 2015)
format ODBC
{d'2015-07-30'} or {t'23:30:59'} or {ts'2015-07-30 23:30:59'}
ISO 8601
'2015-07-30T00:00:00'