oracle中的number型別用法及舉例

2021-10-08 14:40:11 字數 703 閱讀 7512

部落格原址:

一、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§ 即是宣告乙個整數,相當於number(p, 0),即等同於int型

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

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

定點數的精度§和刻度(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...