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

简介: sqlplus中改变日期的输出格式(nls_date_format) 工作中碰到用spool导出数据,其中有日期格式的字段,因为format了各列,就不想用to_char把日期再format了,而且用to_char的话还要把要所有的列都写在select语句中。
sqlplus中改变日期的输出格式(nls_ date_ format)


工作中碰到用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就行了。
目录
相关文章
|
8月前
|
Shell
date $(date --date="2 days" +"%m%d")$(date +"%H%M")然后再输入date时间没变啊
date $(date --date="2 days" +"%m%d")$(date +"%H%M")然后再输入date时间没变啊
|
11月前
|
关系型数据库 MySQL
mysql查询结果时间戳转成日期格式——date、DATE_FORMAT和FROM_UNIXTIME的使用
mysql查询结果时间戳转成日期格式——date、DATE_FORMAT和FROM_UNIXTIME的使用
197 0
|
安全
Date转换
Date转换
115 0
Date转换
DATE_FORMAT函数使用
DATE_FORMAT函数使用
327 0
如何让日期时间控件不显示时间,直接显示字符串"YYYY-MM-DD"
如何让日期时间控件不显示时间,直接显示字符串"YYYY-MM-DD"
|
SQL 关系型数据库 MySQL
MySQL 日期格式化 yyyy-mm-dd 详解 DATE_FORMAT() 函数
MySQL 日期格式化 yyyy-mm-dd 详解 DATE_FORMAT() 函数
4318 0
MySQL 日期格式化 yyyy-mm-dd 详解 DATE_FORMAT() 函数
dateparser解析常见的时间字符串
dateparser解析常见的时间字符串
105 0
|
JavaScript
js获取当前时间日期,并将其格式化为YYYY-MM-DD,并且自定义返回
js获取当前时间日期,并将其格式化为YYYY-MM-DD,并且自定义返回
367 0
PHP:时间戳time和日期格式字符串转换date
PHP:时间戳time和日期格式字符串转换date
115 0