最近在ORACLE里面设置NLS_DATE_FORMAT日期时间格式时遇到了一些问题,顺便整理一下。以防以后忘记时,能顺速翻阅。

1:在会话级别设置nls_date_format对应的日期格式。

使用alter session set nls_date_format='xxxx'设置只会影响当前会话的。这个对所有工具(SQL*Plus、SQL Developer)都能生效。

SQL> select sysdate from dual;

 

SYSDATE

---------

14-SEP-17

 

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

 

Session altered.

 

SQL> select sysdate from dual;

 

SYSDATE

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

2017-09-14 08:33:17

 

SQL> 

2:如果只是SQL*Plus,可以在SQL*Plus的环境变量设置文件login.sql或glogin.sql中来设置。

SQL*Plus启动的时候首先会先运行glogin.sql脚本,然后查找当前目录下是否存在login.sql文件,如果找到则运行该脚本,如果当前目录不存在login.sql.则查找是否设置了SQLPATH环境变量,找到了就会去执行该环境变量路径下的login.sql脚本,否则则会停止继续查找。 glogin.sql文件位于$ORACLE_HOME/sqlplus/admin下.可以在glogin.sql文件下增加一条语句alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

3:修改数据库的参数,需要重启数据库后生效

SQL> show parameter nls_date_format;

 

NAME                                 TYPE        VALUE

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

nls_date_format                      string

SQL> alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;

 

System altered.

 

SQL> 

这个是全局的,有时候影响非常大,所以必须格外小心,要确保不影响各个系统和应用的前提下修改!

4:修改Linux环境变量,在环境变量中设置日期格式。

注意:环境变量NLS_DATE_FORMAT必须和NLS_LANG一起设置,否则不会生效(这个才是总结这篇文章的初衷,以前一直没有注意这个问题)。可以直接在会话窗口使用export或.bash_profile配置文件(全局应用)设置。

下面我们来测试一下看看,如下所示:

[oracle@DB-Server ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 13 09:40:48 2017

 

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> select sysdate from dual;

 

SYSDATE

---------

13-SEP-17

 

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@DB-Server ~]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';

[oracle@DB-Server ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 13 09:41:22 2017

 

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> select sysdate from dual;

 

SYSDATE

---------

13-SEP-17

 

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@DB-Server ~]$ export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

[oracle@DB-Server ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 13 09:41:50 2017

 

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> select sysdate from dual;

 

SYSDATE

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

2017-09-13 09:41:58

 

SQL> 

ORACLE NLS_DATE_FORMAT设置的更多相关文章

  1. 实例讲解Oracle数据库设置默认表空间问题

    实例讲解Oracle数据库设置默认表空间问题   实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在O ...

  2. Oracle参数设置之set与reset的实际案例

    Oracle参数设置之set与reset的实际案例 环境:Oracle 10.2.0.5 RAC 需求:节点1的aq_tm_processes要求恢复默认,节点2设置要求保持不变 1.构建测试环境 2 ...

  3. Oracle数据库设置为归档模式的操作方法

    Oracle归档模式非常非常重要!对于有些数据库刚装好后可能是非归档模式,这是很危险的!为了安全起见,一定要谨记:对于Oracle数据库,一定要设置为归档模式,尤其是生产库,只有这样才能实现数据库的有 ...

  4. 将Oracle数据库设置为归档模式及非归档模式

    一.将Oracle数据库设置为归档模式 1)sql>shutdown normal/immediate;2)sql>startup mount;3)sql>alter databas ...

  5. 在Oracle中设置主键自增

    转自:https://www.2cto.com/database/201705/636725.html 数据库设置主键自增">oracle数据库设置主键自增: --创建表 create ...

  6. 怎样将Oracle数据库设置为归档模式及非归档模式

    怎样将Oracle数据库设置为归档模式及非归档模式 1.Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和 redo lo ...

  7. 【转】将Oracle数据库设置为归档模式

    查看归档状态为非归档sys@JSSBOOK> select log_mode from v$database;LOG_MODE------------NOARCHIVELOG archive状态 ...

  8. Oracle 作业设置完不执行解决

    在日常的工作当中,已经几次遇到Oracle数据库 建立了新的作业但是不执行的问题.写下来给大家分享一下. 我们日常在 dbms_job这个包建立了相关作业,但是到点也不会执行,在百度上看了一下 并且给 ...

  9. LINUX下为ORACLE数据库设置大页--hugepage

    在Linux中配置hugepage可以提高oracle的性能,减少oracle sga的页交换,类似于aix中的lagepage. 为什么 使用大页? LINUX内存的默认块大小是4K如果SGA为:1 ...

随机推荐

  1. 华为交换机boot默认密码

    交换机系统启动bootrom时,在2秒内按下"CTRL+B",此处需要输入密码才能进入BOOTROM菜单.默认密码如下: 1. S9300 V100R006及其之前的版本:9300 ...

  2. Springboot security cas源码陶冶-CasAuthenticationFilter

    Springboot security cas整合方案中不可或缺的校验Filter类或者称为认证Filter类,其内部包含校验器.权限获取等,特开辟新地啃啃 继承结构 - AbstractAuthen ...

  3. Java中的递归调用

    Java中不合理的使用递归调用,可能会导致栈内存溢出,这点是需要注意的. java将为每个线程维护一个栈,栈里将为每个方法保存一个栈帧,栈帧代表了一个方法的运行状态. 也就是我们常说的方法栈.最后一个 ...

  4. java对象表示方式--XStream

    对象表示有各种各样的方式,序列化只是其中的一种而已.表示一个对象的目的无非就是为了对象<---->IO之间相互认识,至于怎么认识,那就有很多选择了.除了之前讲过的序列化,还可以选择将数据J ...

  5. AC 自动机 模板

    简单版 #include <iostream> #include <cstdio> #include <algorithm> #include <cstrin ...

  6. 关于@Override

    首先,来了解一下“重载”和“覆写”的区别: 重载: (1)方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型.重载Overloading是一个类中多态 ...

  7. qt中的事件机制

    事件 1.QEvent -->类型 -> QKeyEvent QEvent::KeyRelease QEvent::MouseMove -> QMouseEvent 2.事件处理过程 ...

  8. smallcorgi/Faster-RCNN_TF训练自己的数据

    熟悉了github项目提供的训练测试后,可以来训练自己的数据了.本文只介绍改动最少的方法,只训练2个类, 即自己添加的类(如person)和 background,使用的数据格式为pascal_voc ...

  9. CENTOS/RHEL 7 系统中设置SYSTEMD SERVICE的ULIMIT资源限制

    遇到的问题: golang程序一直出现 too many open files的报错, 尽管对 /etc/security/limits.conf 做了设置, 对最大文件打开数,最大进程数做了调优. ...

  10. 一个网卡配置多个ip配置实现,centos7系统

    仅一个网卡情况下,配置多个ip可以让该设备通过几个ip被访问,或隐藏常用ip,让其他人访问临时ip 一.永久性增加一个IP 方法1: vim /etc/sysconfig/network-script ...