日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
三個基本Oracle數(shù)據(jù)類型簡介

變量是用來存儲值的所在處;它們有名字和數(shù)據(jù)類型。在聲明變量時也可指定它的數(shù)據(jù)類型。所有變量都具有數(shù)據(jù)類型,以決定能夠存儲哪種數(shù)據(jù)。

數(shù)據(jù)類型(datatype)是列(column)或存儲過程中的一個屬性。

Oracle數(shù)據(jù)類型可以分為三個基本種類:字符數(shù)據(jù)類型、數(shù)字數(shù)據(jù)類型以及表示其它數(shù)據(jù)的數(shù)據(jù)類型。

1.Oracle數(shù)據(jù)類型中的字符數(shù)據(jù)類型
 
CHAR數(shù)據(jù)類型存儲固定長度的子符值。一個CHAR數(shù)據(jù)類型可以包括1到2000個字符。如果對CHAR沒有明確地說明長度,它的默認長度則設(shè)置為1.如果對某個CHAR類型變量賦值,其長度小于規(guī)定的長度,那么Oracle自動用空格填充。

VARCHAR2存儲可變長度的字符串。雖然也必須指定一個VARCHAR2數(shù)據(jù)變量的長度,但是這個長度是指對該變量賦值的的***長度而非實際賦值長度。不需要用空格填充。最多可設(shè)置為4000個字符。

因為VARCHAR2數(shù)據(jù)類型只存儲為該列所賦的字符(不加空格),所以VARCHAR2需要的存儲空間比CHAR數(shù)據(jù)類型要小。Oracle推薦使用VARCHAR2。

NCHAR和NVARCHAR2 NCHAR和NVARCHAR2數(shù)據(jù)類型分別存儲固定長度與可變長度的字符數(shù)據(jù),但是它們使用的是和數(shù)據(jù)庫其他類型不同的字符集。

在創(chuàng)建數(shù)據(jù)庫時,需要指定所使用的字符集,以便對數(shù)據(jù)庫中數(shù)據(jù)進行編碼。還可以指定一個輔助的字符集[即本地語言集(National Language Set,簡稱NLS)]。NCHAR和NVARCHAR2類型的列使用輔助字符集。

在Oracle9i中,可以以字符而不是字節(jié)為單位來表示NCHAR和NVARCHAR2列的長度。

LONG LONG數(shù)據(jù)類型可以存放2GB的字符數(shù)據(jù),它是從早期版本中繼承來的?,F(xiàn)在如果想存儲大容量的數(shù)據(jù),Oracle推薦使用CLOB和NCLOB數(shù)據(jù)類型。在表和SQL語句中使用LONG類型有許多限制。

CLOB和NCLOB CLOB和NCLOB數(shù)據(jù)類型可以存儲多達4GB的字符數(shù)據(jù)。NCLOB數(shù)據(jù)類型可存儲NLS數(shù)據(jù)。

2.Oracle數(shù)據(jù)類型中的數(shù)字數(shù)據(jù)類型
◆Oracle使用標準、可變長度的內(nèi)部格式來存儲數(shù)字。這個內(nèi)部格式精度可以高達38位。
◆NUMBER數(shù)據(jù)類型可以有兩個限定符,如:column NUMBER (precision, scale)
◆precision表示數(shù)字中的有效位。如果沒有指定precision的話,Oracle將使用38作為精度。
◆scale表示數(shù)字小數(shù)點右邊的位數(shù),scale默認設(shè)置為0.如果把scale設(shè)成負數(shù),Oracle將把該數(shù)字取舍到小數(shù)點左邊的指定位數(shù)。
◆日期數(shù)據(jù)類型Oracle標準日期格式為:DD-MON-YY  HH:MI:SS

通過修改實例的參數(shù)NLS_DATE_FORMAT,可以改變實例中插入日期的格式。在一個會話期間,可以通過ALTER SESSION SQL命令來修改日期,或者通過使用SQL語句的TO_DATE表達式中的參數(shù)來更新一個特定值。

3.Oracle數(shù)據(jù)類型中的其它的數(shù)據(jù)類型

RAW和LONG RAW RAW和LONG RAW數(shù)據(jù)類型主要用于對數(shù)據(jù)庫進行解釋。指定這兩種類型時,Oracle以位的形式來存儲數(shù)據(jù)。RAW數(shù)據(jù)類型一般用于存儲有特定格式的對象,如位圖。 RAW數(shù)據(jù)類型可占用2KB的空間,而LONG RAW數(shù)據(jù)類型則可以占用2GB大小。

ROWID ROWID是一種特殊的列類型,稱之為偽列(pseudocolumn)。ROWID偽列在SQL SELECT語句中可以像普通列那樣被訪問。Oracle數(shù)據(jù)庫中每行都有一個偽列。ROWID表示行的地址,ROWID偽列用ROWID數(shù)據(jù)類型定義。

ROWID與磁盤驅(qū)動的特定位置有關(guān),因此,ROWID是獲得行的最快方法。但是,行的ROWID會隨著卸載和重載數(shù)據(jù)庫而發(fā)生變化,因此建議不要在事務(wù)中使用ROWID偽列的值。例如,一旦當(dāng)前應(yīng)用已經(jīng)使用完記錄,就沒有理由保存行的ROWID。不能通過任何SQL語句來設(shè)置標準的ROWID偽列的值。

列或變量可以定義成ROWID數(shù)據(jù)類型,但是Oracle不能保證該列或變量的值是一個有效的ROWID。

LOB(大型對象)數(shù)據(jù)類型,可以保存4GB的信息。LOB有以下3種類型:
1)CLOB,只能存儲字符數(shù)據(jù)
2)NCLOB,保存本地語言字符集數(shù)據(jù)
3)BLOB,以二進制信息保存數(shù)據(jù)

可以指定將一個LOB數(shù)據(jù)保存在Oracle數(shù)據(jù)庫內(nèi),還是指向一個包含次數(shù)據(jù)的外部文件。LOB可以參與事務(wù)。管理LOB中的數(shù)據(jù)必須通過DBMS_LOB PL/SQL內(nèi)置軟件包或者OCI接口。

為了便于將LONG數(shù)據(jù)類型轉(zhuǎn)換成LOB,Oracle9i包含許多同時支持LOB和LONG的函數(shù),還包括一個ALTER TABLE語句的的新選擇,它允許將LONG數(shù)據(jù)類型自動轉(zhuǎn)換成LOB。

BFILE數(shù)據(jù)類型用做指向存儲在Oracle數(shù)據(jù)庫以外的文件的指針。

XMLType

作為對XML支持的一部分,Oracle9i包含了一個新的數(shù)據(jù)類型XMLType.定義為XMLType的列將存儲一個在字符LOB列中的XML文檔。有許多內(nèi)置的功能可以使你從文當(dāng)中抽取單個節(jié)點,還可以在XMLType文檔中對任何節(jié)點創(chuàng)建索引。

用戶自定義數(shù)據(jù)

從Oracle8以后,用戶可以定義自己的復(fù)雜數(shù)據(jù)類型,它們由Oracle基本數(shù)據(jù)類型組合而成。

AnyType、AnyData和AnyDataSet

Oracle包括3個新的數(shù)據(jù)類型,用于定義在現(xiàn)有數(shù)據(jù)類型之外的數(shù)據(jù)結(jié)構(gòu)。其中每種數(shù)據(jù)類型必須用程序單元來定義,以便讓Oracle9i知道如何處理這些類型的特定實現(xiàn)。

類型轉(zhuǎn)換

Oracle會自動將某些數(shù)據(jù)類型轉(zhuǎn)換成其他的數(shù)據(jù)類型,轉(zhuǎn)換取決于包括該值的SQL語句。

數(shù)據(jù)轉(zhuǎn)換還可以通過Oracle的類型轉(zhuǎn)換函數(shù)顯示地進行。

連接與比較

在大多數(shù)平臺上Oracle SQL中的連接操作符用兩條豎線(||)表示。連接是將兩個字符值連接。Oracle的自動類型轉(zhuǎn)換功能使得兩個數(shù)字值也可以進行連接。

NULL

NULL值是關(guān)系數(shù)據(jù)庫的重要特征之一。實際上,NULL不代表任何值,它表示沒有值。如果要創(chuàng)建表的一個列,而這個列必須有值,那么應(yīng)將它指定為NOT NULL,這表示該列不能包含NULL值。

任何數(shù)據(jù)類型都可以賦予NULL值。NULL值引入了SQL運算的三態(tài)邏輯。如果比較的一方是NULL值,那么會出現(xiàn)3種狀態(tài):TURE、FALSE以及兩者都不是。

因為NULL值不等于0或其他任何值,所以測試某個數(shù)據(jù)是否為NULL值只能通過關(guān)系運算符IS NULL來進行。

NULL值特別適合以下情況:當(dāng)一個列還未賦值時。如果選擇不使用NULL值,那么必須對行的所有列都要賦值。這實際上也取消了某列不需要值的可能性,同時對它賦的值也很容易產(chǎn)生誤解。這種情況則可能誤導(dǎo)終端用戶,并且導(dǎo)致累計操作的錯誤結(jié)果。

【編輯推薦】

  1. Oracle數(shù)據(jù)類型轉(zhuǎn)換的實際應(yīng)用方案
  2. 全面概括Oracle數(shù)據(jù)類型
  3. Oracle數(shù)據(jù)庫的學(xué)習(xí)方法介紹
  4. Oracle數(shù)據(jù)庫管理技的示例
  5. 6種找回Oracle數(shù)據(jù)庫初始密碼的方法

新聞名稱:三個基本Oracle數(shù)據(jù)類型簡介
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/cccopdg.html