Not quite. If you want to use a different format, then your value and format model must match. So the statement would be
Code:
UPDATE my_table
SET my_date_column = TO_DATE('1 Jan 1881','dd Mmm yyyy')
WHERE ....
Remember, Oracle stores dates in its own format. What you are doing here is passing in a character string ('1 Jan 1881') and telling Oracle "here is a character string. I'd like you to treat it as a date, and here is how to map the characters to a date."
On the other hand, if your NLS_DATE_FORMAT is set to 'dd Mmm yyyy', then if you try to update a date column with '1 Jan 1881', it matches the format that Oracle is looking for as a date and no TO_CHAR is required.
A quick way to see what the format your database is set for would be as described above, or simply
SELECT sysdate FROM dual;
Whatever format the date is displayed in would be the format Oracle is using by default.
I would suggest you get a copy of Oracle's SQL users guide online and read the section on dates. It's very useful and informative.