Error in the code shown below - Why is it
Twenty Fifteen is a valid year.

SQL&gt; select to_char(sysdate, 'Year') as year from dual;

YEAR
------------------------------------------
Twenty Fifteen


But what you tried works only one way, you can not parse text like that (with suffixes) into a date type.

Datetime Format Element Suffixes


  Notes on date format element suffixes:
  
  
  When you add one of these suffixes to a datetime format element, the return value is always in English.
  Datetime suffixes are valid only to format output. You cannot use them to insert a date into the database.