Кажется, вы используете несколько пустых строк с аргументами переменной длины вместо нулевых значений:
select to_date(null,'mm') as "null"
from dual -- > returns NULL
select to_date('','mm') as "empty_str_length_zero"
from dual -- > returns NULL
select to_date(' ','mm') as "empty_str_length_one"
from dual -- > returns ORA-01843: not a valid month
select to_date(' ','mm') as "empty_str_length_two"
from dual -- > returns ORA-01843: not a valid month