修改sqlplus中顯示時間日期的格式
在資料庫裡查詢資料的時候,我們經常會遇到一些和日期時間格式的問題,比如顯示語言,顯示格式等。可能資料在資料庫裡面存放的格式是:YYYY-MM-DD HH24:MI:SS, 但我們查詢出來的卻是 22-1月-10, 第一反應可能是字符集出了問題。 其實還有一個原因就是系統環境變數沒有設定,下面我們就來看下有關這個的配置問題。
1. 在session 中修改
1. 1 中英文的切換
SQL> alter session set NLS_DATE_LANGUAGE='SIMPLIFIED CHINESE';
會話已更改。
SQL> select sysdate from dual;
SYSDATE
--------------
22-1月 -10
SQL> alter session set NLS_DATE_LANGUAGE='AMERICAN';
會話已更改。
SQL> select sysdate from dual;
SYSDATE
------------
22-JAN-10
SQL>
1.2 時間格式的切換
SQL> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
會話已更改。
SQL> select sysdate from dual;
SYSDATE
-------------------
2010-01-22 14:30:21
SQL>
2. 在作業系統中設定相關環境變數
2.1 windows 平臺
C:> SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS
C:> SET NLS_DATE_LANGUAGE=AMERICAN
C:>SEET NLS_DATE_LANGUAGE=SIMPLIFIED CHINESE;
注意:這裡YYYY-MM-DD HH24:MI:SS不能加引號,但在unix系統中要加
SQL> select sysdate from dual;
SYSDATE
-------------------
2010-01-22 14:33:21
這樣改了以後只對當前的控制檯窗品有效,如果不想每次都設定,就修改系統/使用者環境變數,新增一個變數,比如nls_date_format,值為YYYY-MM-DD HH24:MI:SS。 就可以了。
2.2 Linux 平臺
$export NLS_DATE_FORMAT=”YYYY-MM-DD HH24:MI:SS”
$export NLS_DATE_LANGUAGE=”AMERICAN”
$export NLS_DATE_LANGUAGE=”SIMPLIFIED CHINESE”
注:在unix系統中要加引號
Export 只對當前session 有效,如果要長期儲存,就需要修改.bash_profile 引數,比如Oracle使用者的,/home/oracle/.bash_profile, 在該檔案中加入相關引數以後就可以了。
NLS_DATE_FORMAT=”YYYY-MM-DD HH24:MI:SS”;
export NLS_DATE_FORMAT;
NLS_DATE_LANGUAGE=”AMERICAN”;
export NLS_DATE_LANGUAGE;
NLS_DATE_LANGUAGE=”SIMPLIFIED CHINESE”;
export NLS_DATE_LANGUAGE;
補充:
修改時間日期的格式並不單是顯示上的問題,而是在內部儲存的值也會被覆蓋:
SQL> select to_date(to_char(sysdate,'yyyy-mm-dd')) from dual;
select to_date(to_char(sysdate,'yyyy-mm-dd')) from dual
*
ERROR at line 1:
ORA-01861: literal does not match format string
在沒有修改環境變數或session引數時,這個語句是無法執行的。修改後可以執行:
SQL> select to_date(to_char(sysdate,'yyyy-mm-dd')) from dual;
TO_DATE(TO
----------
2010-1-22
注:把引數NLS_DATE_FORMAT設定成yyyy-mm-dd,查詢的過濾條件中date型別的欄位就可以跟日期控制元件生成的時間字串直接比較了,非常方便的,如果對查詢速度要求高,可以給日期型別的欄位建立一個基於函式的索引。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9390331/viewspace-714176/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- win10如何修改時間日期格式 調整時間格式和日期格式的方法Win10
- jira修改RoadMap裡的時間格式,硬核日期格式化
- QT顯示當前日期時間QT
- 帝國cms留言板的留言時間lytime修改顯示格式
- Layui表格日期格式顯示UI
- 讓history命令顯示日期和時間
- 日期和時間格式
- django 設定日期顯示格式Django
- win10 在桌面上顯示日期時間的方法_win10怎麼把時間日期顯示在桌面Win10
- [20180608]asmcmd顯示檔案的日期時間問題ASM
- 時間格式化,顯示昨天、今天
- 日期時間格式化
- Qt中利用定時器QTimer實時顯示當前日期和時間QT定時器
- win10系統長日期格式顯示怎麼設定 win10系統設定長時間格式顯示的步驟Win10
- win10時間不顯示日期怎麼辦_win10電腦只顯示時間沒有日期如何處理Win10
- JavaScript時間日期格式化JavaScript
- JavaScript 時間日期格式轉換JavaScript
- JavaScript 日期和時間的格式化JavaScript
- 在終端裡按你的方式顯示日期和時間
- MySQL時間戳轉成日期格式MySql時間戳
- Qt:通過QLabel控制元件來顯示實時日期時間QT控制元件
- SAP Fiori應用裡日期格式的顯示奧祕
- [20181006]12c sqlplus顯示使用者上次登入時間.txtSQL
- 短視訊平臺原始碼,平臺顯示時間,時間格式的轉換原始碼
- 把時間戳轉為常用日期格式時間戳
- js時間戳與日期格式的相互轉換JS時間戳
- Java 中的時間日期 APIJavaAPI
- win10系統如何設定時間日期顯示農曆Win10
- 時間日期格式化程式碼例項
- windows10系統修改時間和日期的方法Windows
- qt中實現實時的顯示當前時刻的時間QT
- sqlplus中利用spool生成帶日期的檔名SQL
- SQL Server中的日期和時間:DATEADD()SQLServer
- js時間顯示設定JS
- Python3時間戳轉換為指定格式的日期Python時間戳
- GORM 自定義time.time日期時間輸出格式GoORM
- QT學習 實時顯示時間QT
- win10電腦桌面顯示時間和天氣日期怎麼設定Win10
- ASP.NET MVC下使用AngularJs語言(九):日期時間處理與顯示ASP.NETMVCAngularJS