在oracle資料庫中創建數據表的時候,需要指定表中每一個欄位的欄位類型,不同的數據類型其使用場景也不盡相同,下面我麼來看看最常見的幾種數據類型。
字符串類型
字符串類型主要用於申明包含字母、數字數據的欄位,按照字符數據類型可以進一步分為定長字符串和變長字符串兩種,分別對應char數據類型和varchar2數據類型。
CHAR類型,定長字符串,會用空格填充來達到其最大長度。CHAR欄位最多可以存儲2,000位元組的信息。如果創建表時,不指定CHAR長度,則默認為1。
VARCHAR2類型,變長字符串,與CHAR類型不同,它不會使用空格填充至最大長度。VARCHAR2最多可以存儲4,000位元組的信息。
數值數據類型
數值數據類型主要存儲帶符號的整數或者是浮點數。NUMBER類型,NUMBER(P,S)是最常見的數字類型,具有精度P(P 是Precison的英文縮寫,即精度縮寫,表示有效數字的位數,最多不能超過38個有效數字)和範圍(S是Scale的英文縮寫,可以使用的範圍為-84~127。Scale為正數時,表示從小數點到最低有效數字的位數,它為負數時,表示從最大有效數字到小數點的位數)兩個參數。
日期時間數據類型
日期類型用於存儲日期數據,它可以存儲日期和時間的組合數據。DATE是最常用的數據類型,日期數據類型存儲日期和時間信息。雖然可以用字符或數字類型表示日期和時間信息,但是日期數據類型具有特殊關聯的屬性。為每個日期值,Oracle 存儲以下信息: 世紀、 年、 月、 日期、 小時、 分鐘和秒。一般佔用7個字節的存儲空間。
LOB類型
內置的LOB數據類型包括BLOB、CLOB、NCLOB、BFILE(外部存儲)的大型化和非結構化數據,如文本、圖像、視屏、空間數據存儲。LOB數據類型一般分為BLOB、CLOB、NCLOB三種。
CLOB 數據類型它存儲單字節和多字節字符數據。支持固定寬度和可變寬度的字符集。CLOB對象可以存儲最多 (4 gigabytes-1) * (database block size) 大小的字符BLOB 數據類型它存儲非結構化的二進位數據大對象,它可以被認為是沒有字符集語義的比特流,一般是圖像、聲音、視頻等文件。BLOB對象最多存儲(4 gigabytes-1) * (database block size)的二進位數據。BFILE 數據類型二進位文件,存儲在資料庫外的系統文件,只讀的,資料庫會將該文件當二進位文件處理
ROWID數據類型
ROWID數據類型被稱為「偽列類型」,用於在oracle內部保存表中的每條記錄的物理路徑,在oracle內部通過ROWID來定位所需記錄。