Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2089064
  • 博文数量: 519
  • 博客积分: 10070
  • 博客等级: 上将
  • 技术积分: 3985
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-29 14:05
个人简介

只问耕耘

文章分类

全部博文(519)

文章存档

2016年(1)

2013年(5)

2011年(46)

2010年(220)

2009年(51)

2008年(39)

2007年(141)

2006年(16)

我的朋友

分类: Oracle

2010-05-25 16:25:57

工作中碰到用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就行了。

阅读(1181) | 评论(0) | 转发(0) |
0

上一篇:ORA-04045

下一篇:sql limit

给主人留下些什么吧!~~