sqlplus中改变日期的输出格式(nls_date_format)

王朝mssql·作者佚名  2008-05-31
宽屏版  字体: |||超大  

工作中碰到用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: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

-------------------

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就行了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有