修改sqlplus中顯示時間日期的格式

2021-05-28 12:37:14 字數 2356 閱讀 7409

在資料庫裡查詢資料的時候,我們經常會遇到一些和日期時間格式的問題,比如顯示語言,顯示格式等。可能資料在資料庫裡面存放的格式是: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中顯示時間日期的格式

修改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,第一反應可能是字符集出了問題。其實還有乙個原因就是系統環境變數沒有設定,下面我們就來看下...