當你在數據庫中創建數據表的時候
你需要定義表中所有字段的類型
ORACLE有許多種數據類型以滿足你的需要
數據類型大約分為
character
number
date
LOB
和RAW等類型
雖然ORACLE
i也允許你自定義數據類型
但是它們是最基本的數據類型
在下面的文章中你將了解到他們在oracle 中的用法
限制以及允許值
Character 數據類型
Character 數據類型用來存儲字母數字型數據
當你在oracle 中定義一個character 數據時
通常需要制定字段的長度
它是該字段的最大長度
ORACLE提供以下幾種character 數據類型
CHAR(<size>) CHAR數據類型是一種有固定長度和最大長度的字符串
存儲在數據類型為CHAR字段中的數據將以空格的形式補到最大長度
長度定義在
——
字節之間
當你創建一個CHAR型字段
數據庫將保證在這個字段中的所有數據是定義長度
如果某個數據比定義長度短
那麼將用空格在數據的右邊補到定義長度
如果長度大於定義長度將會觸發錯誤信息
VARCHAR(<size>) varchar型數據是varchar
型數據的快照
VARCHAR
(<size>) varchar
數據類型是一種可變長度的
有最大長度的字母數字型數據
Varchar
類型的字段長度可以達到
字節
Varchar
類型的變量長度可以達到
字節
一個空的varchar
(
)字段和一個空的varchar
(
)字段所占用的空間是一樣的
NCHAR(<size>) 和 NVARCHAR
(<size>) NCHAR(<size>) 和 NVARCHAR
(<size>)數據類型分別與CHAR(<size>) 和 VARCHAR
(<size>)類型是相同的
只不過它們用來存儲NLS(National Language Support)數據
LONG LONG 數據類型是一個遺留下來的而且在將來不會被支持的數據類型
它將被LOB(Large Object)數據類型所代替
比較規則 Varchar
和char數據類型根據尾部的空格有不同的比較規則
對Char型數據
尾部的空格將被忽略掉
對於Varchar
型數據尾部帶空格的數據排序比沒有空格的要大些
比如
Char 型數據
YO
=
YO
Varchar
型數據
YO
<
YO
Numberic 數據類型
Numberic 數據類型用來存儲負的和正的整數
分數和浮點型數據
范圍在
*
和
…
*
之間
有
位的精確度
標識一個數據超出這個范圍時就會出錯
Number(<p>
<s>) Number數據類型存儲一個有p位精確度的s位等級的數據
DATE 數據類型
DATE 數據類型用來存儲日期和時間格式的數據
這種格式可以轉換為其他格式的數據去浏覽
而且它有專門的函數和屬性用來控制和計算
以下的幾種信息都包含在DATE數據類型中
Century
Year
Month
Day
Hour
Minute
Second
LOB 數據類型
LOB(Large Object) 數據類型存儲非結構化數據
比如二進制文件
圖形文件
或其他外部文件
LOB 可以存儲到
G字節大小
數據可以存儲到數據庫中也可以存儲到外部數據文件中
LOB數據的控制通過DBMS_LOB 包實現
BLOB
NCLOB
和CLOB 數據可以存儲到不同的表空間中
BFILE存儲在服務器上的外部文件中
LOB數據類型有以下幾種
BLOB: 二進制數據
CLOB: 字符型數據
BFILE: 二進制文件
其他數據類型
ROWID ROWID 數據類型是ORACLE數據表中的一個偽列
它是數據表中每行數據內在的唯一的標識
From:http://tw.wingwit.com/Article/program/Oracle/201311/16550.html