Oracle 內部定義 資料型別

2021-04-26 22:23:34 字數 1319 閱讀 3604

資料型別

引數描述

char(n)

n=1 to 2000位元組

定長字串,n位元組長,如果不指定長度,預設為1個位元組長(乙個漢字為2位元組)

varchar2(n)

n=1 to 4000位元組

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

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

如果資料長度沒有達到最大值n,oracle 8i會根據資料大小自動調節字段長度,

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

可做索引的最大長度3209。

number(m,n)

m=1 to 38

n=-84 to 127

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

如:number(5,2),則這個欄位的最大值是99,999,如果數值超出了位數限制就會被擷取多餘的位數。

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

如:number(3,0),輸入575.316,真正儲存的資料是575。

date

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

oracle 8i其實在內部是按7個位元組來儲存日期資料,在定義中還包括小時、分、秒。

預設格式為dd-mon-yy,如07-11月-00 表示2023年11月7日。

long

無可變長字元列,最大長度限制是2gb,用於不需要作字串搜尋的長串資料,如果要進行字元搜尋就要用varchar2型別。

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

raw(n)

n=1 to 2000

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

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

long raw

無blob

clob

nclob

無bfile

無在資料庫外部儲存的大型二進位制物件檔案,最大長度是4gb。

這種外部的lob型別,通過資料庫記錄變化情況,但是資料的具體儲存是在資料庫外部進行的。

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

大小由作業系統決定。

C 內部資料型別和非內部資料型別

內部資料型別是編譯器本來就認識的,不需要使用者自己定義 非內部資料型別不是編譯器本來就認識的,需要使用者自己定義才能讓編譯器識別 運算子使用是否正確,編譯器在編譯掃瞄分析時就可以判定 庫函式是已編譯的 編譯器不會編譯檢查,由鏈結器將庫同使用者寫的 合成exe檔案 對於非內部資料型別的物件而言,光用m...

C 內部資料型別和非內部資料型別

對於非內部資料型別的物件而言,光用maloc free無法滿足動態物件的要求。物件在建立的同時要自動執行建構函式,物件在消亡之前要自動執行析構函式。由於malloc free是庫函式而不是運算子,不在編譯器控制許可權之內,不能夠把執行建構函式和析構函式的任務強加於malloc free。因此c 語言...

Oracle 自定義資料型別Type

這個月專案中實現了乙個動態彙總並且匯出到excel的功能,媽蛋,為了實現這個功能,乙個網格頁面就用了20 個儲存過程和自定義函式,終於完成了初步測試工作,其中快把我所掌握的不掌握的oracle知識都快用完了,其中有行轉列 xml 列轉行 動態表 動態sql 自定義type 管道函式 資料流函式等,為...