sql >> Base de Datos >  >> RDS >> Oracle

Oracle NLS_DATE_FORMAT no funciona correctamente

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.