Oracle如何修改系统默认时间格式


1.Oracle里有一张表的字段是Date类型。插入2010-01-01总是报格式不正确。

解决办法有:

1.临时修改

SQL> alter session set nls_date_format='yyyymmdd';

这种方法只能改掉在当前会话里的日期显示格式,当重新建立一个会话的时候,必须重新执行该命令。

2.改变oracle默认的日期显示格式

ON UNIX :

change .profile NSL_DATE_FORMAT=YYYYMMDD;

export NLS_DATE_FORMAT

On windows:

在注册表的KEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0

添加字串值NLS_DATE_FORMAT.将其值设为YYYY-MM-DD-HH24:MI:SS.

或者:initsid.ora 中添加NLS_DATE_FORMAT=yyyy-mm-dd hh24:mi:ss。同时去掉注册表中的NLS_LANG字串值

我采用的修改注册表的方法。

先可以用:select   *   from   v$NLS_Parameters;查询一下:NLS_DATE_FORMAT 值应该为:YYYY-MM-DD   HH24:MI:SS

还有一个方法就是利用函数:to_date('2010-01-01','yyyy-mm-dd')

相关内容