Oracle的日期格式默认设置是DD-MON-YY,很多时候我们需要修改这种格式以满足我们的需求。
可以通过设置NLS_DATE_FORMAT来改变日期格式,为了让这种改变永久生效,介绍下面的几种方法:
1、修改glogin.sql文件,这个文件的路径:
Windows下,%ORACLE_HOME%\sqlplus\admin
UNIX下,$ORACLE_HOME/sqlplus/admin
在文件中加上:alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
2、修改注册表(Windows平台下)
开始 =》运行=》regedit=》HKEY_LOCAL_MACHINE=》SOFTWARE=》ORACLE=》HOME0 =》新建 字符串值NLS_DATE_FORMAT ,并设置其值为:YYYY-MM-DD:HH24:MI:SS
3、修改用户环境变量配置文件(UNIX平台下),加上
export NLS_LANG=AMERICAN
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
有时候只设置了NLS_DATE_FORMAT,而不设置NLS_LANG可能日期格式不会改变(参考RollingPig的文章),这个可能跟平台及Shell类型有关系。
rman会话中设置nls_date_format和nls_lang
run {
......
sql 'alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"';
sql 'alter session set NLS_LANGUAGE="AMERICAN"';
......
}