Se lo fai:
alter session set nls_date_format='DD DDTH MON YYYY';
Viene visualizzato un errore, ORA-01810: format code appears twice
.
Se utilizzi lo stesso modello di formato del tuo TO_CHAR
allora funziona:
alter session set nls_date_format='DY DDTH MON YYYY';
Session altered.
select SYSDATE from dual;
SYSDATE
-----------------
FRI 23RD AUG 2013
Funziona in SQL Developer e SQL*Plus.
Per la tua domanda aggiornata sull'inserimento, la documentazione del formato datetime dice:
Quindi non puoi usare una stringa con il suffisso come parte del tuo inserto, né esplicitamente né tramite NLS_DATE_FORMAT
. Dovresti rimuoverlo dalla stringa o adattare il modello di formato da trattare come un valore fisso.