Oracle經過長時間的發展,很多用戶都很了解Oracle數據類型了,這裡我發表一下個人理解,和大家討論討論。在數據庫中創建數據表的時候,我們需要定義表中所有字段的類型,Oracle數據類型大致分為:character,numberic,date,lob和raw等,這些是最基本的Oracle數據類型。當然在Oracle中也允許自定義數據類型!
在Oracle中提供的character數據類型:
◆char(<size>:固定長度字符串,最大長度為2000字節,如果不指定長充,缺省為1個字節長。
◆varchar2(<size>:可變長度的字符串,最大長度為4000字節,具體定義時指明最大長度,這種類型可以放數字、字母以及ASCII碼字符集(或者EBCDIC等數據庫系統接受的字符集標准)中的所有符號。如果數據長度沒有達到最大值,Oracle會根據數據大小自動調節字段長度。是最長用的數據類型。
◆nchar(<size>:根據字符集而定的固定長度字符串,最大長度2000字節。
◆nvarchar2(<size>:根據字符集而定的可變長度字符串,最大長度4000字節。
◆long:可變長字符列,最大長度限制為2GB,用於不需要作字符串搜索的長串數據。此類型是一個遺留下來的而且將來不會被支持的數據類型,逐漸被BLOB,CLOB,NCLOB等大的數據類型所取代。
numberic數據類型用來存儲負的和正的整數,分數和浮點型數據,在Oracle中提供的numberic數據類型:
number(<m>,<n>:可變長的數值列,允許0、正值及負值,m是所有的有效數字的位數,n是小數點以後的位數。
在Oracle中提供的date數據類型:
date:缺省格式是dd-mon-yy(日-月-年)
在Oracle中提供的lob數據類型:
◆blob、clob、nclob:三種大型對象(lob),用來保存較大的圖形文件或帶格式的文本文件,如Word文檔,以及音頻、視頻等非文本文件,最大長充是4GB。暈些數據存儲在數據庫內部保存。
◆bfile:在數據庫外部保存的大型二進制對象文件,最大長度是4GB,這種外部的LOB類型,通過數據庫記錄變化情況,但是數據的具體保存是在數據庫外部進行的。
在Oracle中提供的raw數據類型:
◆raw(<size>:可變長二進制數據,具體定義字段時必須指明最大長度,這種格式用來保存較小的圖形文件或帶格式的文本文件,它也是一種較老的數據類型,將被lob數據類型所取代。
◆long raw:可變長二進制數據,最大長度是2GB,可以用來保存較大的圖形或帶格式的文本文件,以及音頻、視頻等非文本文件,這也是一種較老的數據類型,將被lob數據類型所取代。
其它的Oracle數據類型:
◆rowid:這是Oracle數據表中的一個偽例,它是數據表中每行數據內在的唯一標識
◆integer:整數類型