字符串類型
茶
char數據類型存儲固定長度的字符值。CHAR數據類型可以包含1到2000個字符。如果沒有明確指定CHAR的長度,則默認長度設置為1。如果為CHAR變量賦值的長度小於指定長度,Oracle會自動用空格填充。
註意:如果給定的值長度大於固定長度,並且末尾有壹個空格,則空格將被刪除為固定長度。如果該值太大,Oracle將返回錯誤。
可變長字符串
用於保存變長字符串數據。其中最大字節長度由(size)指定。每行的長度是可變的,每行的最大長度是4000字節。在設置大小之前,請考慮字符集是單字節還是多字節。
註意:varchar是壹種廢棄的類型,oracle目前建議使用varchar2。雖然varchar也可以使用,但不確定未來版本是否支持它。
Varchar2
用於保存變長字符串數據。其中最大字節長度由(size)指定。每行的長度是可變的,每行的最大長度是4000字節。在設置大小之前,請考慮字符集是單字節還是多字節。因為VARCHAR2數據類型只存儲分配給列的字符(不含空格),所以VARCHAR2所需的存儲空間小於CHAR數據類型所需的存儲空間。
區別:varchar2將所有字符視為兩個字節(壹般情況下),varchar對漢字和全角字符只取兩個字節,數字和英文字符都是壹個字節;VARCHAR2將空字符串視為null,而VARCHAR仍將空字符串視為null。在大多數情況下,建議使用varchar2類型以確保更好的兼容性。
恩查爾
Unicode數據類型,取決於字符集的固定長度字符串,最大長度為2000字節。
Nvarchar2
Unicode數據類型,根據字符集而定的可變長度字符串,最大長度為4000字節。
長的
最大長度為2GB的可變長度字符列用於不帶字符串搜索的長數據字符串。
描述:該類型是壹種遺留數據類型,將來將不再受支持,它逐漸被BLOB、CLOB和NCLOB等大數據類型所取代。
數字類型
數字
NUMBER數據類型的精度可以高達38位,它有兩個限定符,例如:列號(精度,小數位數)。精度表示數字中的有效位。如果未指定精度,Oracle將使用38作為精度。Scale表示小數點右邊的位數,默認情況下,scale設置為0。如果scale設置為負數,Oracle會將該數字舍入到小數點左側的指定位數。
小數
Oracle在語法上只支持decimal類型,但在底層,它實際上是number類型。支持十進制類型,以便將數據從Oracle數據庫移動到其他數據庫。
浮動
FLOAT類型也是NUMBER的壹個子類型。它的格式是Float(n),數字n表示位的精度和可以存儲的值的數量。n的值範圍為1到126。要將精度從二進制轉換為十進制,請將n乘以0.30103。若要將十進制精度轉換為二進制精度,請將十進制精度乘以3.32193。126位二進制精度的最大值大約相當於38位十進制精度。
二進制浮點數
BINARY_FLOAT是壹種32位單精度浮點數字數據類型。每個BINARY_FLOAT值需要5個字節的存儲空間,其中1個字節用於存儲數據值的長度。支持數字數據類型提供的基本函數。但是具有二進制精度,十進制精度為$ NUMBER。因此,它可以提供更快的數學運算速度並減少占用的存儲空間。
二元雙精度
BINARY_DOUBLE是壹種64位雙精度浮點數字數據類型。每個BINARY_DOUBLE值需要9個字節的存儲空間,其中1個字節用於存儲數據值的長度。支持數字數據類型提供的基本函數。但是具有二進制精度,十進制精度為$ NUMBER。因此,它可以提供更快的數學運算速度並減少占用的存儲空間。
日期數據類型
日期
ORACLE最常用的日期類型,可以保存日期和時間,並可用於常見的日期處理。日期範圍從公元前4765438年+公元前02年65438年+公元前0年到公元65438年+公元9999年65438年+公元02年。
數據庫中日期類型的存儲固定為7個字節,第1字節:世紀+100,第二個字節:年,第三個字節:月,第四個字節:日,第五個字節:小時+1,第六個字節:分鐘+1,第七個字節:。
時間戳
ORACLE常用的日期類型,與date不同的是,它不僅可以保存日期和時間,還可以保存十進制秒。小數位數可以指定為0-9,默認值為6位數,因此最高精度可以是ns(納秒)。數據庫存儲在7或11字節中。如果精度為0,則以7個字節存儲,這與日期類型的函數相同。如果精度大於0,則存儲在655438+0字節中。字節1:世紀+100、字節2:年、字節3:月、字節4:日、字節5:小時+1、字節6:分鐘+1、字節7:秒+1。
註意:如果時間戳日期類型與數值相加或相減,它將自動轉換為日期類型,即十進制秒將自動刪除。
帶時區的時間戳
時間戳被擴展以存儲時區。時間戳和時區偏移值,其中小數秒精度是第二個日期時間字段中數字的小數部分的所有值。可接受的值為0到9。默認值為6。默認格式是確定顯式NLS日期格式參數或隱式NLS地區參數。大小固定為13字節。此數據類型包含日期和時間字段年、月、日、小時、分鐘、第二時區小時和時區分鐘。它有壹個明確的小數秒和時區。
帶有本地時區的時間戳
所有帶有時區值的時間戳,以下情況除外:當數據標準化數據庫的時區時,它將存儲在數據庫中。檢索數據時,用戶可以看到會話時區中的數據。
默認格式是確定顯式NLS日期格式參數或隱式NLS地區參數。的大小從7到11字節不等,具體取決於精度。
年到月的時間間隔
存儲期間的年數和月數,其中year_precision是數字的年數、日期和時間字段。可接受的值為0到9。默認值為2。大小固定為5字節。
日秒間隔
其格式為:interval DAY【(day_precision)】to second【(fractional _ seconds)】,即以天、小時、分鐘和秒來存儲壹段時間,其中DAY _ precision是日日期時間字段中的最大數字數。可接受的值為0到9。默認值為2。小數秒精度是數字中第二個字段的小數部分。可接受的值為0到9。默認值為6。大小固定為11字節。
年到月的時間間隔
Oracle語法:interval year【(year _ precision)】to month,用於表示時差,僅精確到年和月。Year _ precision是數字年的時間段,可接受的值為0到9。默認值為2。大小固定為5字節。
大型對象(LOB)數據類型
泥炭田
最大4G,存儲單字節字符數據。適合存儲超長文本。
Nclob
最大4G,存儲多字節國家字符數據。適合存儲超長文本。
壹滴
最大4G,存儲二進制數據。適合存儲圖像、視頻、音頻等。
b文件
最大長度為4GB,存儲在數據庫外部的大型二進制對象文件的最大長度為4GB。這種外部LOB類型通過數據庫記錄更改,但數據的具體存儲是在數據庫外部進行的。Oracle可以讀取和查詢BFILE,但不能寫入或參與事務。
原始和長原始數據類型
生的
raw(n)格式,其中n=1到2000,可變長度二進制數據,定義字段時必須指定最大長度n。Oracle使用這種格式保存較小的圖形文件或格式化的文本文件,如Miceosoft Word文檔。Raw是壹種較老的數據類型,未來將逐漸被BLOB、CLOB和NCLOB等大型對象數據類型所取代。
長期未加工
最大長度為2GB。可變長度二進制數據,最大長度為2GB。Oracle使用這種格式保存大型圖形文件或格式化文本文件(如Miceosoft Word文檔)和非文本文件(如音頻和視頻)。不能在同壹個表中同時擁有long和long raw類型。long raw也是壹種較老的數據類型,未來將逐漸被BLOB、CLOB和NCLOB等大型對象數據類型所取代。
ROWID和UROWID數據類型
Rowid
ROWID是表行的唯壹標識符,它是壹個偽列,可以在SELECT中使用,但不能通過INSERT、UPDATE修改。ROWID列,Oracle用它來構建內部索引。您可以引用ROWID的值,但ROWID不存儲在數據庫中。您可以創建包含ROWID數據類型的表。但是,Oracle不保證該值是合法的rowids。用戶必須確保rowid值真實合法。
尿wid
UROWID支持邏輯和物理ROWID,列UROWID類型可以存儲所有類型的ROWID。UROWID類型只存在於Oracle 8.1之後的版本中,它還可以用來存儲以前的ROWID類型數據信息。
特殊數據類型
Xmltype
自9i以來,XmlType是Oracle的壹種獨特數據類型。它是繼承Blob的強大存在。它可以用來存儲xml並提供相當多的操作函數來直接讀取XML文檔和管理節點。理論上可以節省2G數據。作為XML數據的壹種特殊存儲類型。Xmltype為保存、檢索和操作提供了合適的支持。
Xmlindex
XMLIndex可以用於SQL/XML函數XMLExists()、XMLTable()和XMLQuery(),它在查詢的任何部分都有效;它不僅限於在WHERE子句中使用。任何其他用於XML數據的索引都不能做到這壹點。
因此,XMLIndex可以提高SELECT列表數據和FROM列表數據的訪問速度,這對於XML片段提取尤其有用。基於函數的索引和CTXXPath索引。您不需要提前知道查詢中將使用的XPath表達式。XMLIndex是完全通用的,但是基於函數的索引是不同的。XMLIndex索引可用於基於XML模式或基於模式的數據。它可用於二進制XML和非結構化存儲模型。b樹索引只適用於以對象關系方式存儲的基於模式的數據(結構化存儲);對於存儲在二進制XML或CLOB實例中的基於XML模式的數據來說,這是低效的。您可以使用XMLIndex搜索以集合為目標的XPath表達式(即在文檔中多次出現的節點)。函數索引不是。