您好,登錄后才能下訂單哦!
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千兆字節,而不是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;
---按照上面的命令就可以激活擴展數據類型;
注意:一旦激活擴展數據類型,是不可以回退的,除非做一個非完全恢復,將數據恢復到變更的時間點前的狀態;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。