oracle數(shù)據(jù)庫的數(shù)據(jù)類型很特別 分2種..\x0d\x0a一種是oracle內(nèi)置的數(shù)據(jù)類型\x0d\x0a一種是PLSQL支持的數(shù)據(jù)類型,一般PLSQL很好的兼容了oracle內(nèi)置的數(shù)據(jù)類型....\x0d\x0a\x0d\x0a我們在建表的時候 就是使用內(nèi)置的 一般使用number 也可以使用 int等衍生類型來定義整形..\x0d\x0a\x0d\x0aPLSQL中除了上面的number 還可以支持 PLS_INTEGER.

目前成都創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、金川網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
oracle本來就沒有int類型,為了與別的數(shù)據(jù)庫兼容,新增了int類型作為number類型的子集。
int類型只能存儲整數(shù);
number可以存儲浮點數(shù),也可以存儲整數(shù);
number(8,1)存儲小數(shù)位為1位,總長度為8的浮點數(shù),如果小數(shù)位數(shù)不足,則用0補(bǔ)全;
number(8)存儲總長度為8的整數(shù);
int相當(dāng)于number(22),存儲總長度為22的整數(shù)。
舉例說明:
--創(chuàng)建表結(jié)構(gòu)
SQL create table tab(id0 int,id1 number,id2 number(8,1),id3 number(8));
Table created
SQL
--插入測試數(shù)據(jù)
SQL insert into tab select 1,1.5,1.6,8 from dual;
1 row inserted
SQL insert into tab select 1,1.55,1.6,8 from dual;
1 row inserted
SQL insert into tab select 1,1.595,1,8 from dual;
1 row inserted
SQL commit;
Commit complete
SQL select * from tab;
ID0 ID1 ID2 ID3
---------- ---------- ---------- ---------
1 1.5 1.6 8
1 1.55 1.6 8
1 1.595 1.0 8
--查詢數(shù)據(jù)字典表dba_tab_columns
SQL select table_name,column_name,data_type,data_length,data_precision,data_scale from dba_tab_columns a
2 where table_name='TAB'
3 and owner='NETMAX'
4 order by column_id;
TABLE_NAME COLUMN_NAME DATA_TYPE DATA_LENGTH DATA_PRECISION DATA_SCALE
--------------- -------------- ----------------- ---------------- ----------- ----------
TAB ID0 NUMBER 22 0
TAB ID1 NUMBER 22
TAB ID2 NUMBER 22 8 1
TAB ID3 NUMBER 22 8 0
SQL
在dba_tab_columns表中,
Data_type表示字段類型;
Data_length表示字段類型的長度;
Data_Precision表示字段類型的精度的總長度,如果為null,表示精度的總長度不固定,最長為Data_Length;
Data_scale表示字段類型的精度范圍,如果為0,表示只能存儲為整數(shù),
如果為null,表示可以存儲整數(shù)或者浮點數(shù),浮點數(shù)位數(shù)不確定,
如果為整數(shù),表示存儲的精度位數(shù)。
查詢dba_tab_columns表,發(fā)現(xiàn)tab表中ID0字段類型int已經(jīng)被轉(zhuǎn)換為number(22)。
首先,id number(1),試一試,看看生成的字段聲明還是不是 boolean 類型的。
其次,你對這個字段進(jìn)行賦值操作試一試能不能成功,比如說賦值“3”,看能不能成功,如果成功說明沒有影響,如果出錯的話,說明此字段在創(chuàng)建的時候的確是有問題的。
最后,你嘗試用id number(2,0) 試一下,是不是有這種情況。一般不會出現(xiàn)這種情況的,愿好運(yùn)。
整型是oracle數(shù)據(jù)庫中的一個基本類型,一般用integer或int表示。但在oracle中也可用number(N,0)來表示整型。
一個 integer 是集合 Z = {..., -2, -1, 0, 1, 2, ...} 中的一個數(shù)。
以下三種方法都是可以的:
create?table?test
(id?int);
create?table?test
(id?integer);
create?table?test
(id?number(10,0));
您可以使用cast函數(shù)將數(shù)字字符串轉(zhuǎn)化為整型。
cast函數(shù)格式如下:
CAST(字段名 as int);
拓展資料
結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL(發(fā)音:/?es kju? ?el/ "S-Q-L"),是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。
結(jié)構(gòu)化查詢語言是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng), 可以使用相同的結(jié)構(gòu)化查詢語言作為數(shù)據(jù)輸入與管理的接口。結(jié)構(gòu)化查詢語言語句可以嵌套,這使它具有極大的靈活性和強(qiáng)大的功能。
1986年10月,美國國家標(biāo)準(zhǔn)協(xié)會對SQL進(jìn)行規(guī)范后,以此作為關(guān)系式數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言(ANSI X3. 135-1986),1987年得到國際標(biāo)準(zhǔn)組織的支持下成為國際標(biāo)準(zhǔn)。不過各種通行的數(shù)據(jù)庫系統(tǒng)在其實踐過程中都對SQL規(guī)范作了某些編改和擴(kuò)充。所以,實際上不同數(shù)據(jù)庫系統(tǒng)之間的SQL不能完全相互通用。
參考資料:百度百科_SQL
本文標(biāo)題:oracle如何定義整型,oracle整形類型
網(wǎng)頁路徑:http://chinadenli.net/article21/dsioccd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、動態(tài)網(wǎng)站、標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計、網(wǎng)站設(shè)計公司、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)