【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/
● 本系列題目來源於作者的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
● 題目解答若有不當之處,還望各位朋友批評指正,共同進步