【DB筆試面試453】在Oracle中,如何讓日期顯示為「年-月-日 時:分:秒」的格式?

  • 2019 年 10 月 11 日
  • 筆記

題目部分

在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 SYSTEM SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' SCOPE=SPFILE;」,每個會話都起作用。

④ 設置環境變數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

& 說明:

有關NLS_DATE_FORMAT的更多內容可以參考我的BLOG:http://blog.itpub.net/26736162/viewspace-2149081/

本文選自《Oracle程式設計師面試筆試寶典》,作者:李華榮。

About Me:小麥苗

● 本文作者:小麥苗,只專註於資料庫的技術,更注重技術的運用

● 作者部落格地址:http://blog.itpub.net/26736162/abstract/1/

● 本系列題目來源於作者的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

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

● 題目解答若有不當之處,還望各位朋友批評指正,共同進步