修改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型別的字段就可以跟日期控制項生成的時間字串直接比較了,非常方便的,如果對查詢速度要求高,可以給日期型別的字段建立乙個基於函式的索引。
修改sqlplus中顯示時間日期的格式
在資料庫裡查詢資料的時候,我們經常會遇到一些和日期時間格式的問題,比如顯示語言,顯示格式等。可能資料在資料庫裡面存放的格式是 yyyy mm dd hh24 mi ss,但我們查詢出來的卻是 22 1月 10,第一反應可能是字符集出了問題。其實還有乙個原因就是系統環境變數沒有設定,下面我們就來看下有...
修改sqlplus中顯示時間日期的格式
在資料庫裡查詢資料的時候,我們經常會遇到一些和日期時間格式的問題,比如顯示語言,顯示格式等。可能資料在資料庫裡面存放的格式是 yyyy mm dd hh24 mi ss,但我們查詢出來的卻是 22 1 月 10,第一反應可能是字符集出了問題。其實還有乙個原因就是系統環境變數沒有設定,下面我們就來看下...
修改sqlplus中顯示時間日期的格式
在資料庫裡查詢資料的時候,我們經常會遇到一些和日期時間格式的問題,比如顯示語言,顯示格式等。可能資料在資料庫裡面存放的格式是 yyyy mm dd hh24 mi ss,但我們查詢出來的卻是 22 1 月 10,第一反應可能是字符集出了問題。其實還有乙個原因就是系統環境變數沒有設定,下面我們就來看下...