Si lo hace:
alter session set nls_date_format='DD DDTH MON YYYY';
Obtiene un error, ORA-01810: format code appears twice
.
Si usa el mismo modelo de formato que su TO_CHAR
entonces funciona:
alter session set nls_date_format='DY DDTH MON YYYY';
Session altered.
select SYSDATE from dual;
SYSDATE
-----------------
FRI 23RD AUG 2013
Esto funciona en SQL Developer y SQL*Plus.
Para su pregunta actualizada sobre la inserción, la documentación sobre el formato de fecha y hora dice:
Por lo tanto, no puede usar una cadena con el sufijo como parte de su inserción, ya sea explícitamente o a través de NLS_DATE_FORMAT
. Tendría que eliminarlo de la cadena o adaptar el modelo de formato para tratarlo como un valor fijo.