Мои усилия изначально были сорваны из-за неправильных дат. Код ниже работает до тех пор, пока вы заключаете его в оператор для определения неверных дат.
select to_date(substring(20090731 from 1 for 8),'YYYYMMDD') as NZDATE
Очевидно, 20090731
следует заменить именем числовой переменной.