工作中碰到用spool导出数据,其中有日期格式的字段,因为format了各列,就不想用to_char把日期再format了,而且用to_char的话还要把要所有的列都写在select语句中。....................
工作中碰到用spool导出数据,其中有日期格式的字段,因为format了各列,就不想用to_char把日期再format了,而且用to_char的话还要把要所有的列都写在select语句中。win下默认的格式为dd-mm-yy ,如下:
sql>select sysdate from dual;
sysdate
----------
21-12月-04
数据库中的日期字段中的格式为yyyy-mm-dd hh24miss,导出的数据中也要这样的格式,设置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
-------------------
2004-12-21 14:44:24
2.在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
-------------------
2004-12-21 14:45:44
这样改了以后只对当前的控制台窗品有效,如果不想每次都设置,就修改系统/用户环境变量,新增一个nls_date_format变量,值为yyyy-mm-dd hh24:mi:ss
打开一个控制台窗口
sql> select sysdate from dual;
sysdate
-------------------
2004-12-21 14:46:15
这样在spool中直接select * from tabs就行了。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器