'10-May-97' is a STRING.
TO_DATE( '10-May-97', 'DD-Mon-RR' ) is a DATE.
Never depend on your NLS_DATE_FORMAT setting.
For Oracle format models, consult the documentation found eg. online on
http://tahiti.oracle.com/.
For 10gR2, it is placed at
http://download.oracle.com/docs/cd/B...004.htm#i34924.
Especially have a look at
http://download.oracle.com/docs/cd/B...04.htm#i116004.
But it does not people born before 1950. But, tell me, how would you tell to which century does '05-Apr-07' birth-date belong.
If you somehow tweak it, another problems start in 2050 (your successors will love to fix it).
In my opinion, year has always four digits. Seems that people did not learn it from
Y2K problem .