關於Oracle9i日期格式幾點要說明的問題

2021-04-02 10:21:38 字數 3150 閱讀 1285

1. 在 oracle9i 之前, 日期格式的資料型別預設格式為「dd-mon-yy」,而在 oracle9i 中

為了解決千年問題, 而引入了新的日期型格式為「dd-mon-rr」。

這可以通過select * from sys.nls_database_parameters;進行檢視。

2. rr 日期型格式的說明

1)如果當前年份的最後兩位數(即不包括世紀)為 0—49,並且指定的年份的最後兩

位數也為0—49,則返回的日期在本世紀。

例如:當前年份為2005 年,指明的日期是 01-oct-08,則 rr 日期格式返回的日期

為:2023年10月 1 日。而 yy 日期格式返回的日期也為:2008 年10月 1日

2)如果當前年份的最後兩位數(即不包括世紀)為 0—49,並且指定的年份的最後兩位

數為50—99,則返回的日期在上一世紀。

例如:當前年份為2023年,指明的日期是 01-oct-98,rr 日期格式返回的日期為:

1998 年 10 月 1 日。而 yy 日期格式返回的日期為:2098 年 10 月 1 日。

3)如果當前年份的最後兩位數(即不包括世紀)為 50—99,並且指定的年份的最後兩

位數為0—49,則返回的日期在下一世紀。

例如:當前年份為2023年,指明的日期是 01-oct-08,rr 日期格式返回的日期為:

2023年 10月 1 日。而yy 日期格式返回的日期為:2023年 10月 1 日。

4)如果當前年份的最後兩位數(即不包括世紀)為 50—99,並且指定的年份的最後兩

位數也為50—99,則返回的日期在本世紀。

例如:當前年份為2023年,指明的日期是 01-oct-98,rr 日期格式返回的日期為:

2023年 10月 1 日。而yy 日期格式返回的日期也為:2023年10月 1 日。

3. oracle時間顯示形式

通常,客戶端與資料庫建立起連線後,oracle就會給乙個預設的時間格式資料的顯示形式,與所使用的字符集有關。一般顯示年月日,而不顯示時分秒。例如,使用us7ascii字符集(或者是其他的英語字符集)時,預設的時間格式顯示為:28-jan-2003;而使用zhs16gbk字符集(或其他中文字符集)時時間格式預設顯示為:2003-1月-28。向表中插入資料時,如果不使用轉換函式,則時間欄位的格式必須遵從會話環境的時間格式,否則不能插入。若要檢視當前會話的時間格式,可以使用以下的sql語句:

sql> select sysdate from dual;

4. 向oracle表中插入時間格式的資料

這是乙個相對來講比較麻煩的事情,要麼你嚴格遵從當前會話的時間格式書寫你的時間值,要麼使用轉換函式自定義時間資料的格式。與date操作關係最大的就是兩個轉換函式:to_date(),to_char()。

1)to_date(字串,日期格式)則把格式字元型別轉換日期型別,通常在insert 語句中使用。具體用法:to_date('2004-11-27','yyyy-mm-dd'),前者為字串,後者為轉換日期格式,注意,前後兩者要一一對應。

例如:to_date('2005-12-27 14:28:25',』yyyy-mm-dd hh24:mi:ss') 將得到具體的時間。

2)to_char(日期值,日期格式)函式將日期值按一定格式轉換為字串日期形式,通常在查詢中使用;例如把當前時間按yyyy-mm-dd hh24:mi:ss格式轉換成字元型別,可用下面語句:

sql> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') time from dual;

time

-------------------

2005-12-29 15:02:25

附: 多種日期格式引數說明

iyyy: iso標準的四位年份

yyyy: 四位年份

yyy,yy,y: 年份的最後三位,兩位,一位

month: 九個字元表示的月份全名

mon: 三位字元的月份簡寫

mm: 01~12的月份編號

d: 一周中的星期幾

day: 九個字元表示的天的全稱,使用空格填充到9個字元

ddd: 年中的第幾天

dd: 月份中的第幾天

dy: 天的簡寫名

iw: iso標準的年中的第幾周

ww: 年中的第幾個星期

w: 該月的第幾個星期

hh24: 一天中的第幾個小時,按24小時計, 取值為00~23

hh,hh12: 一天中的第幾個小時,按12小時計

mi: 一小時中的分鐘

ssss:從午夜開始過去的秒數

ss: 一分鐘中的秒

另外:24小時格式下時間範圍為: 0:00:00 - 23:59:59....

12小時格式下時間範圍為: 1:00:00 - 12:59:59 ....

Oracle9i日期格式幾點說明

關於oracle9i日期格式幾點要說明的問題 1.在 oracle9i 之前,日期格式的資料型別預設格式為 dd mon yy 而在 oracle9i 中 為了解決千年問題,而引入了新的日期型格式為 dd mon rr 這可以通過select from sys.nls database parame...

解除安裝Oracle 9i

1 停止所有oracle服務 2 刪除登錄檔中的所有關於oracle項 1 在hkey local machine software下,刪除oracle目錄 2 在hkey local machine system controlset001 services下,刪除所有oracle項 3 在hke...

oracle9i解除安裝

今天裝了oracle 9i,後來重灌遇到問題因為解除安裝未乾淨。幾經周折終於成功,現將解除安裝步驟供以後參考 1 停止服務 開啟 服務 然後停止所有oracle服務 2 刪除程式 3 刪除登錄檔中的所有關於oracle項 1 在hkey local machine software下,刪除oracl...