oracle中的number型別用法及舉例

2021-08-26 10:40:33 字數 819 閱讀 4412

[size=large][b]一、number與int,float等資料型別的區別[/b][/size]

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

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

2、number可以儲存浮點數,也可以儲存整數;[/size]

[size=large]

[b]二、number型別的用法[/b][/size]

[size=medium]number表示說明:number(p, s) ——宣告乙個定點數   

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

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

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

[b]例子:[/b]

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

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

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

當乙個數的整數部分的長度 > 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 [/size]

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