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

2022-08-18 10:48:10 字數 2929 閱讀 4958

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

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

平台$exportnls_date_format=」yyyy-mm-dd hh24:mi:ss」

$exportnls_date_language=」american」

$exportnls_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中顯示時間日期的格式

修改sqlplus中顯示時間日期的格式 收藏 在資料庫裡查詢資料的時候,我們經常會遇到一些和日期時間格式的問題,比如顯示語言,顯示格式等。可能資料在資料庫裡面存放的格式是 yyyy mm dd hh24 mi ss,但我們查詢出來的卻是 22 1月 10,第一反應可能是字符集出了問題。其實還有乙個原...

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

在資料庫裡查詢資料的時候,我們經常會遇到一些和日期時間格式的問題,比如顯示語言,顯示格式等。可能資料在資料庫裡面存放的格式是 yyyy mm dd hh24 mi ss,但我們查詢出來的卻是 22 1 月 10,第一反應可能是字符集出了問題。其實還有乙個原因就是系統環境變數沒有設定,下面我們就來看下...