根據最近對Oracle資料庫的學習,現在逐步整理出關於Oracle的相關知識,希望對一些剛接觸Oracle的朋友有所協助。
Oracle提供了比較單純的幾種資料類型,不像sql server有很多種資料類型。Oracle常用類型有char,varchar2,clob,number,Date,timestamp,blob等常用資料類型。
char(num)定長,最長為2000個字元,運用char的查詢效率特高,但是用char的話,不會自動識別字元長度,定義了多少個字元,它就會佔用幾個字元,即使儲存的字元只有2個,而定義的char為4個字元的話,它會用空格把後兩個輸入鍵台。
varchar2(num)算是varchar的升級版,Oracle對varchar2進行最佳化過, VARCHAR的區別是VARCHAR2把空串等同於null處理。varchar2最大長度是4000個字元,varchar2可以節省字元,跟char有個鮮明的區別就是,varchar2會識別儲存的字元長度,不會佔用多餘的空間。但是查詢效率沒有char高。至於一個VARCHAR2字元要用幾個位元組儲存,要看資料庫使用的字元集,比如GBK,漢字就會佔兩個位元組,英文1個,如果是UTF-8,漢字一般佔3個位元組,英文還是1個。
clob字元型的最大對象,可以存放4G的容量。
number類型是一個資料類型,只定義number的話,就表示整形,而如果定義number(7,2)的話,就表示7個有效數字,小數位為兩位,例如12345.67這個數字就符合number(7,2)的定義。number的範圍是-(10的38次方)到10的38次方。
date時間資料類型,包含年月日時分秒。
timestamp是date類型的擴充,是一個更為精細的時間資料類型,一般情況都用不到。
blob位元據,可以存放圖片,視頻等資源,最大為4G。
oralce還有其他比較少用的類型,如long,nvarchar2()【根據字元集而定的可變長度字串】等。如果有興趣的朋友可以繼續去研究下,順便把研究結果分享給我,資源共用嘛。