ORACLE 日期格式(NLS_DATE_FORMAT)问题

关于ORACLE日期格式问题

1、查询下列DATA DICTIONARY 中NLS_DATE_FORMAT的日期格式
NLS_DATABASE_PARAMETERS 格式 DD-MON-YY
NLS_INSTANCE_PARAMETERS 格式 DD-MON-YY
NLS_SESSION_PARAMETERS 格式 DD-MON-YY
sqlplus查看sysdate格式 DD-MON-YY

2、使用alter session set nls_date_format='YYYY-MM-DD'则
NLS_DATABASE_PARAMETERS 格式 DD-MON-YY
NLS_INSTANCE_PARAMETERS 格式 DD-MON-YY
NLS_SESSION_PARAMETERS 格式 YYYY-MM-DD
sqlplus查看sysdate格式 YYYY-MM-DD
重新启动DB,则
NLS_DATABASE_PARAMETERS 格式 DD-MON-YY
NLS_INSTANCE_PARAMETERS 格式 DD-MON-YY
NLS_SESSION_PARAMETERS 格式 DD-MON-YY
sqlplus查看sysdate格式 DD-MON-YY

3、在init.ora中加入NLS_DATE_FORMAT=YYYY-MM-DD,重新启动DB后
NLS_DATABASE_PARAMETERS 格式 DD-MON-YY
NLS_INSTANCE_PARAMETERS 格式 YYYY-MM-DD
NLS_SESSION_PARAMETERS 格式 DD-MON-YY
sqlplus查看sysdate格式 DD-MON-YY

4、在win98 regedit中增加
/Hkey_local_machine/software/oracle/NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'
NLS_DATABASE_PARAMETERS 格式 DD-MON-YY
NLS_INSTANCE_PARAMETERS 格式 YYYY-MM-DD
NLS_SESSION_PARAMETERS 格式 YYYY/MM/DD HH24:MI:SS
sqlplus查看sysdate格式 YYYY/MM/DD HH24:MI:SS

结论:程序设计中取系统时间最好使用to_char(),否则程序难以适应外界因素对sysdate格式的影响

你可能感兴趣的:(ORACLE)