Oracle基礎-資料類型總結

來源:互聯網
上載者:User

標籤:oracle資料類型   資料類型   date   

Oracle提供了22種不同的sql資料類型供我們使用:

1、char :

   這是個定長的字串,會用空格填充來達到其最大長度。char 欄位最多可以儲存2000位元組資訊;

2、nchar :

   這個一個包含Unicode格式資料的定長字串。與char類型有所不同,char類型定義的長度可為位元組或字元。nchar欄位最多可以儲存2000位元組的資訊;

3、varchar2 :

   目前這也是varchar的同義字。它是個變長字串,與char類型不同,它不會用空格將欄位或變數填充至最大長度。它最多可以儲存4000位元組資訊。自Oracle12C起,它可以最多儲存32767位元組資訊; 

4、nvarchar2 :

   這個一個包含Unicode格式資料的變長字串。它最多可以儲存4000位元組的資訊。自Oracle12C起,它可以儲存最多32767位元組的資訊;

5、raw : 

   這個一種變長位元據類型,也就是說採用這種資料類型儲存的資料不會發生字元集轉換。它最多儲存2000位元組資訊。自Oracle12C起,它可以儲存最多32767位元組的資訊;

6、number :

   這種資料類型能儲存精度最多達38位的數字,這種類型的資料會以變長方式來儲存,其長度在0~22位元組(null值長度為0)。它的精度很高;

7、binary_float :

   這是Oracle10 才開始有的一種新類型。它是一個32位單精確度浮點數,可以支援至少6位精度,佔用磁碟上5個位元組的儲存空間;

8、binary_double :

   這是一種Oracle10 才開始有的新類型,它是一個64位雙精確度浮點數,可以支援至少15位精度,佔用磁碟9位元組的儲存空間;

9、long :

   這種類型能儲存最多2GB的字元資料(2GB是指2千MB,而不是2千兆個字元,因為在一個多位元組字元集中,有的字元可能佔用多個位元組),不建議使用該類型,在現有的應用中應將long類型轉換為CLOB類型;

10、long raw :

   該類型能儲存多大2GB的二進位資訊,與long類型同樣的原因建議在應用中使用BLOB類型;

11、date : 

   這是個7位元組的定寬日期/時間資料類型,其中共包含7個屬性:世紀、世紀中的哪一年、月份、天、小時、分鐘和秒;

12、timestamp :

   這是個7位元組或11位元組的定寬日期時間資料類型(高精度會使用11位元組)。它與date資料類型不同,因為timestamp可以包含小數秒,帶小數秒的timestamp最多可以保留9位小數;

13、timestamp with time zone :

   這是一個13位元組的定寬timestamp,不過它還提供了時區(time zone)支援。因為時區資訊是與timestamp儲存在一起的,所以資料在插入時的時區資訊會與時間一起保留下來;

14、timestamp with local time zone :

   與timestamp類型,這是一種以7位元組或11位元組的定寬日期時間資料類型(高精度會使用11位元組);不過,這種類型對時區敏感;

15、interval year 10 month :

   這是個5位元組的定寬資料類型,用於儲存一個時段。這個類型將時段儲存為年數和月數;我們可以在日期運算中使用這種時段,使一個date或timestamp類型的資料增加或減少一段時間;

16、interval day 10 second :

   這是個11位元組的定寬資料類型,用於儲存一個時段。這種類型將時段儲存為天、小時、分鐘、秒數,還可以有最多9位的小數秒;

17、BLOB :

   在Oracle9i以前最多能儲存4GB資料,而從Oracle10以後最多能儲存(4GB-1)X(資料庫塊大小)位元組的資料;blob包含不需要進行字元集轉換的位元據。

18、CLOB :

   在Oracle9i以前最多能儲存4GB資料,而從Oracle10以後最多能儲存(4GB-1)X(資料庫塊大小)位元組的資料;當發生字元集轉換時,CLOB會受到影響。這種資料類型很適合儲存大塊純文字資訊。

19、NCLOB :

   在Oracle9i以前最多能儲存4GB資料,而從Oracle10以後最多能儲存(4GB-1)X(資料庫塊大小)位元組的資料;NVLOB會儲存以資料庫國家字元集編碼的資訊,而且像CLOB一樣,當發生字元集轉換時,這種類型也會受到影響;

20、BFILE :

   這種資料類型可以在資料庫列中儲存一個Oracle目錄對象和一個檔案名稱,我們可以通過它來讀取這個檔案;

21、rowid

    rowid實際上是資料庫表中行的地址,它有10位元組長。rowid中編碼的資訊,不但足以在磁碟上定位每一行,而且還能識別出rowid指向的那行資料所屬的對象(表等);

22、urowid

    urowid是一個通用rowid,用於沒有固定rowid的表。urowid通常表現為主鍵的值。因此urowid的大小會根據所指向的對象而有所變化;


注意:從Oracle12C 起,varchar2、nvarchar2和raw類型可以儲存最多32767位元組的資訊,但是需要啟用擴充資料類型。在預設情況下這個特性沒有啟用的。


從Oracle12C起,varchar2 和 nvarchar2類型的最大長度由原來的4000位元組變成現在最多儲存32767位元組,12C預設情況下沒有啟用擴充資料類型,需要手動啟動,如下:

shutdown immediate;

startup upgrade;

alter system set max_string_size=extended;

@?/rdbms/admin/utl32k.sql

shutdown immediate

startup;

---按照上面的命令就可以啟用擴充資料類型;

注意:一旦啟用擴充資料類型,是不可以回退的,除非做一個非完全恢複,將資料恢複到變更的時間點前的狀態;


本文出自 “笨小孩的dba之路” 部落格,請務必保留此出處http://fengfeng688.blog.51cto.com/4896812/1934806

Oracle基礎-資料類型總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.