Oracle的NLS_DATE_FORMAT設定(日期格式設定)

lhrbest發表於2017-12-22

Oracle的NLS_DATE_FORMAT設定(日期格式設定)




 

真題1、Oracle中,如何讓日期顯示為“年--日 時::秒”的格式?


答案:
Oracle的日期預設顯示為以下格式:

SYS@PROD1> select sysdate from dual;

 

SYSDATE

---------

22-DEC-17

閱讀不方便,此時可以通過設定NLS_DATE_FORMAT來讓日期顯示更人性化,可以有如下幾種方式:

① 在會話級別執行命令:“ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';”,只在會話級別起作用。

② 在檔案$ORACLE_HOME/sqlplus/admin/glogin.sql中加入:“ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';”,這樣每個會話都會起作用。

③ 修改初始化引數:“ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';”,每個會話都起作用。

④ 設定環境變數NLS_DATE_FORMAT,但是必須和NLS_LANG一起設定,否則不會生效,可以直接在會話視窗使用export.bash_profile配置檔案(全域性應用)設定,如下所示:

export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK   #或: export NLS_LANG=AMERICAN

若是Windows環境,則可以使用如下命令:

SETX "NLS_DATE_FORMAT"  "YYYY-MM-DD HH24:MI:SS"

SETX "NLS_LANG"  "AMERICAN_AMERICA.ZHS16GBK"

使用以上任意一種方法設定,效果如下:

SYS@PROD1>  ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

 

Session altered.

 

SYS@PROD1> select sysdate from dual;

 

SYSDATE

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

2017-12-22 06:51:18

 







ORACLE NLS_DATE_FORMAT設定

2017-09-14 09:01 by 瀟湘隱者, 125 閱讀, 0 評論, 收藏編輯

 

最近在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';

 

 

clip_image001

 

 

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
[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> 





About Me

.............................................................................................................................................

● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除

● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文部落格園地址:http://www.cnblogs.com/lhrbest

● 本文pdf版、個人簡介及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● DBA寶典今日頭條號地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

.............................................................................................................................................

● QQ群號:230161599(滿)、618766405

● 微信群:可加我微信,我拉大家進群,非誠勿擾

● 聯絡我請加QQ好友646634621,註明新增緣由

● 於 2017-12-01 09:00 ~ 2017-12-31 22:00 在魔都完成

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

.............................................................................................................................................

小麥苗的微店https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麥苗出版的資料庫類叢書http://blog.itpub.net/26736162/viewspace-2142121/

.............................................................................................................................................

使用微信客戶端掃描下面的二維碼來關注小麥苗的微信公眾號(xiaomaimiaolhr)及QQ群(DBA寶典),學習最實用的資料庫技術。

   小麥苗的微信公眾號      小麥苗的DBA寶典QQ群2     《DBA筆試面寶典》讀者群       小麥苗的微店

.............................................................................................................................................

Oracle的NLS_DATE_FORMAT設定(日期格式設定)
DBA筆試面試講解群
《DBA寶典》讀者群 歡迎與我聯絡



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2149081/,如需轉載,請註明出處,否則將追究法律責任。

相關文章