Oracle基本資料型別

2022-12-19 02:54:02 字數 3981 閱讀 9210

資料型別

char(n)

描述定長字串,n位元組長,如果不指

n=1 to 節定長度,預設為1個位元組長(乙個

漢字為2位元組)

可變長的字串,具體定義時指明最大長度n,

這種資料型別可以放數字、字母以及ascii碼字符集(或者ebcdic等資料庫系統接受的字符集標準)中的所有符號。

n=1 to 節如果資料長度沒有達到最大值n,

oracle 8i會根據資料大小自動調節字段長度,

如果你的資料前後有空格,oracle8i會自動將其刪去。varchar2是最常用的資料型別。

可做索引的最大長度3209。可變長的數值列,允許0、正值及負值,m是所有有效數字的位數,n是小數點以後的位數。

如:number(5,2),則這個欄位的最大值是99,999,如果數值超出了

m=1 to 38

位數限制就會被擷取多餘的位數。

n=-84 to 127

如:number(5,2),但在一行資料中的這個字段輸入575.316,則真正儲存到字段中的數值是575.

32。如:number(3,0),輸入575.

316,真正儲存的資料是575。

從西元前2023年1月1日到公元2023年12月31日的所有合法日期,

oracle 8i其實在內部是按7個字

無節來儲存日期資料,在定義中還包括小時、分、秒。

預設格式為dd-mon-yy,如07-11月-00表示2023年11月7日。可變長字元列,最大長度限制是

無2gb,用於不需要作字串搜尋的

引數varchar2(n)

number(m,n)

date

long

raw(n)n=1 to 2000

long raw無

blob(binary large object)clob(character large object)無nclob

bfile無

長串資料,如果要進行字元搜尋就要用varchar2型別。

long是一種較老的資料型別,將來會逐漸被blob、clob、nclob等大的物件資料型別所取代。

可變長二進位制資料,在具體定義欄位的時候必須指明最大長度n,oracle 8i用這種格式來儲存較小的圖形檔案或帶格式的文字檔案,如miceosoft word文件。

raw是一種較老的資料型別,將來會逐漸被blob、clob、nclob等大的物件資料型別所取代。可變長二進位制資料,最大長度是2gb。oracle8i用這種格式來儲存較大的圖形檔案或帶格式的文字檔案,如miceosoft word文件,以及音訊、**等非文字檔案。

在同一張表中不能同時有long型別和long raw型別,long raw也是一種較老的資料型別,將來會逐漸被blob、clob、nclob等大的物件資料型別所取代。

三種大型物件(lob),用來儲存較大的圖形檔案或帶格式的文字檔案,如miceosoft word文件,以及音訊、**等非文字檔案,最大長度是4gb。

lob有幾種型別,取決於你使用的位元組的型別,oracle 8i實實在在地將這些資料儲存在資料庫內部儲存。

可以執行讀取、儲存、寫入等特殊操作。

在資料庫外部儲存的大型二進位制物件檔案,最大長度是4gb。這種外部的lob型別,通過資料庫記錄變化情況,但是資料的具體儲存是在資料庫外部進行的。

oracle 8i可以讀取、查詢bfile,但是不能寫入。

大小由作業系統決定。

oracle資料庫中討論char ,varchar ,varchar2資料型別!

這3種字串資料型別是我們使用最多的,我們在資料庫設計時到底該怎麼使用了?

首先我們先來分析3個資料型別的說明:

1、char char的長度是固定的,最長2000個字元。

2、varchar和varchar2可以肯定的是oracle中目前是可以使用varchar資料型別的,。

其次也有人認為varchar是最大長度為2000的可變字串(和sql server中的varchar一致),而varchar2最大長度為4000。知道了他們的特點我們就來討論下使用區別

和varchar、varchar2由於varchar和varchar2用途類似,我們先來討論char和他們的使用區別:

varchar和varchar2比char節省空間,在效率上比char會稍微差一些,即要想獲得效率,就必須犧牲一定的空間,這也就是我們在資料庫設計上常說的『以空間換效率』。varchar和varchar2雖然比char節省空間,但是如果乙個varchar和varchar2列經常被修改,而且每次被修改的資料的長度不同,這會引起『行遷移』(row migration)現象,而這造成多餘的i/o,是資料庫設計和調整中要盡力避免的,在這種情況下用char代替varchar和varchar2會更好一些。當然還有一種情況就是象身份證這種長度幾乎不變的字段可以考慮使用char,以獲得更高的效率。

2。varchar和varchar2這裡就進入重點了,前面的區別我們在sql server中我們已經基本了解了,大家可能都知道,最多也就是複習下,但oracle增加了乙個varchar2型別,是大家以前所沒有用到過的。因為oracle保證在任何版本中該資料型別向上和向下相容,但不保證varchar,還有其他資料中一般都有varchar這個資料型別。

所以我得出了以下結論:

如果想在oracle新版本的資料庫相容就不要用varchar,如果想和oracle之外其他資料庫相容就不要用varchar2。

oracle中的資料型別分類

oracle中的資料型別不可謂不多,下面把我這兩天來的學習體會寫一下吧!1、字元資料型別:包括我char,varchar2,long。char型可以儲存字母數字值,這種資料型別的

列長度可以是1到2000個位元組。如果未指明,則預設其占用乙個位元組,如果使用者輸入的值小於指定的長度,資料庫則用空格填充至固定長度。

varchar2型其實就是varchar,只不過後面多了乙個數字2,varchar2就是varchar的同義詞,也稱別名。資料型別大小在1至4000個位元組,但是和char不同的一點是:當你定義了varchar2長度為30,但是你只輸入了10個字元,

這時varchar2不會像char一樣填充,在資料庫中只有10具位元組。

long型:此資料型別用來儲存可變長度的字元資料,最多能儲存2gb。但是有一些限制:

乙個表中只有一列可以為long型,long列不能定義為主鍵或唯一約束,不能建立索引,過程或儲存過程不能接受long資料型別的引數。

2、數值資料型別只有number型,但是number功能不小,它可以儲存正數,負數,零,定點數和精度為30位的浮點數。格式為(p=38,s=0),其中p為精度,表示數字的總位數,它在1-38之間,s為範圍,表示小數點右邊的數字的位數,它在-84至127之間。

3、日期時間資料型別:有date資料型別,timestamp資料型別。

date用於儲存表中的日期和時間資料,oracle使用自己的格式儲存日期,使用7個位元組固定長度,每個位元組分別儲存世紀,年月日,小時,分和秒。日期資料型別的值從西元前2023年1月1日到公元2023年12月31日。oracle中的sysdate函式用於返回當前的日期和時間。

timestamp資料型別與date不同的是:它還返回當前的時區。4、raw和long raw資料型別

此種資料型別主要用於儲存二進位制資料。

raw用於儲存基於位元組的資料,最多能儲存2000個位元組,它沒有預設大小,所以在使用時要指定大小,可以建立索引。rawlong用於儲存可變長度的二進位制資料,最多能儲存2gb,它受的限制和long型別一樣。

5、lob資料型別

lob又稱為「大物件」資料型別:主要有clob,blob,bfile,三種子型別。clob代表(character large object),它能夠儲存大量字元資料,可以儲存非結構化的xml文件。

blog代表(binary large object),它可以儲存較大的二進位制物件;如圖形,音**剪輯。

bfile代表(binaryfile),它能夠將二進位制檔案儲存在資料庫外部的作業系統檔案中,注意是二進位制檔案,不是一般資料,bfile列儲存乙個bfile定位器,它指向位於伺服器檔案系統上的二進位制檔案,支援的檔案最大為4gb。不過oracle10以上的會更大,這還需要硬體方面的支援。

Bullet中的基本資料型別

bullet中的常用資料型別包括 btscalar btvector3 btquaternion btmatrix3x3以及bttransform。下面我們看看這些基本資料型別功能及用法 1 btscalar 在bullet中,btscalar是單精度或雙精度浮點數。如果我們定義了巨集bt use ...

C語言基本資料型別整型int用法詳解

c語言基本資料型別 整型 int 用法詳解 1.整型int c 語言提供了很多整數型別 整型 這些整型的區別在於它們的取值範圍的大小,以及是否可以為負。int是整型之一,一般被稱為整型。以後,在不產生歧義的情況下,我們把整數型別和int都稱為整型。int代表有符號整數,也就是說,用int宣告的變數可...

oracle裡long資料型別的總結

1 long 資料型別中儲存的是可變長字串,最大長度限制是2gb。2 對於超出一定長度的文字,基本只能用long型別來儲存,資料字典中很多物件的定義就是用long來儲存的。3 long型別主要用於不需要作字串搜尋的長串資料,如果要進行字元搜尋就要用varchar2型別。4 很多任務具,包括sql p...