win下默认的格式为DD-MM-yy ,如下:
SQL>select sysdate from dual;SYSDATE
----------
21-4月-07数据库中的日期字段中的格式为yyyy-mm-dd hh24:mi:ss,导出的数据中也要这样的格式,设置nls_date_format就可以实现,如下:
1.用alter session来修改
SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
SQL> select sysdate from dual;SYSDATE
-------------------
2007-4-21 14:44:242.在OS中设置nls_date_format
打开一个控制台窗口
C:>SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS //注意:这里YYYY-MM-DD HH24:MI:SS不能加引号,但在unix系统中要加
SQL> select sysdate from dual;SYSDATE
-------------------
2007-4-21 14:45:44这样改了以后只对当前的控制台窗品有效,如果不想每次都设置,就修改系统/用户环境变量,新增一个nls_date_format变量,值为YYYY-MM-DD HH24:MI:SS
打开一个控制台窗口
SQL> select sysdate from dual;SYSDATE
-------------------
2007-4-21 14:46:153.永久修改,还可以这样做
修改login.sql文件,增加alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS'语句 当然,修改后需要重新启动Service服务,才能有效
查看数据库设置 select * from v$nls_parameters where parameter='NLS_DATE_FORMAT';session级更改 alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';永久修改 在注册表中:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 添加一个字符串的值 名称:NLS_DATE_FORMAT 值 :YYYY-MM-DD在OS中设置nls_date_format 打开一个控制台窗口
C:>SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS //注意:这里YYYY-MM-DD HH24:MI:SS不能加引号,但在unix系统中要加
select to_char(sysdate,"YYYY-MM-DD") from dual