oracle中的number型別用法及舉例

2021-07-28 17:45:47 字數 813 閱讀 5575

一、number與int,float等資料型別的區別

oracle本沒有int型別,為了與別的資料庫相容,新增了int型別作為number型別的子集。 

1、int型別只能儲存整數; 

2、number可以儲存浮點數,也可以儲存整數;

二、number型別的用法

number表示說明:number(p, s) ——宣告乙個定點數       

其中p(precision)為精度,精度最大值為38 

s(scale)表示小數點右邊的數字個數,scale的取值範圍為-84到127 

因此,number(p) 即是宣告乙個整數,相當於number(p, 0),即等同於int型 

例子:

number(8,1)   儲存小數字為1位,總長度為8的浮點數,如果小數字數不足,則用0補全; 

number(8)      儲存總長度為8的整數 

定點數的精度(p)和刻度(s)遵循以下規則:

當乙個數的整數部分的長度 > p-s 時,oracle就會報錯 

例:12345.12345   number(6,2)   error 

當乙個數的小數部分的長度 > s 時,oracle就會捨入 

例:12345.58        number(*, 1)   12345.6 

當s(scale)為負數時,oracle就對小數點左邊的s個數字進行捨入 

例:12345.345   number(5,-2)     12300 

Oracle中的number型別

number型別的語法很簡單 number p,s p 精度位 有效數字位 precision,是總有效資料位數,取值範圍是38,預設是38,可以用字元 表示38。s 小數字,scale,是小數點右邊的位數,取值範圍是 84 127,預設值取決於p,如果沒有指定p,那麼s是最大範圍,如果指定了p,那...

Oracle 中Number的長度定義

number可以通過如下格式來指定 field name number precision scale 其中precision指number可以儲存的最大數字長度 不包括左右兩邊的0 scale指在小數點右邊的最大數字長度 包括左側0 也就是說,1 p是總長度,s是小數,整數部分長度是p s23 例...

oracle 中 number型別實驗

create table shentest testcol number 7 testcol2 number 7,1 testcol3 number 7,2 testcol4 number 7,1 testcol5 number 7,2 select from shentest insert int...