工作中碰到用spool导出数据其中有日期格式的字段因为format了各列就不想用to_char把日期再format了而且用to_char的话还要把要所有的列都写在select语句中
工作中碰到用spool导出数据其中有日期格式的字段因为format了各列就不想用to_char把日期再format了而且用to_char的话还要把要所有的列都写在select语句中win下默认的格式为DDMMyy 如下:
SQL>select sysdate from dual;
SYSDATE
月
数据库中的日期字段中的格式为yyyymmdd hhmiss导出的数据中也要这样的格式设置nls_date_format就可以实现如下
用alter session来修改
SQL>alter session set nls_date_format=yyyymmdd hh:mi:ss;
SQL> select sysdate from dual;
SYSDATE
::
在OS中设置nls_date_format
打开一个控制台窗口
C:>SET NLS_DATE_FORMAT=YYYYMMDD HH:MI:SS//注意:这里YYYYMMDD HH:MI:SS不能加引号但在unix系统中要加
SQL> select sysdate from dual;
SYSDATE
::
这样改了以后只对当前的控制台窗品有效如果不想每次都设置就修改系统/用户环境变量新增一个nls_date_format变量值为YYYYMMDD HH:MI:SS
打开一个控制台窗口
SQL> select sysdate from dual;
SYSDATE
::
这样在spool中直接select * from tabs就行了