一、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...