4 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
numeric(10,2), 數(shù)字型,2位精度
numeric(18,5),數(shù)字型,5位精度
---你說得報(bào)錯(cuò)可能是位數(shù)不夠,你把位數(shù)設(shè)大些,例如 numeric(18,2)

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
相當(dāng)于java的int double類型
oracle包括三種數(shù)據(jù)類型:
1)數(shù)值:number或number(p,s)
p:精度,s:刻度(小數(shù)位數(shù))
1234.567 number(6,2) --------> 1234.57
0.001234 number(2,4) --------> 0.0012
1234 number(3,-1)--------> 1230
1204 number(3) --------> 超出精度
2)字符:char, varchar, varchar2
char與varchar的區(qū)別:
1.內(nèi)容存儲(chǔ)時(shí)占用的存儲(chǔ)空間;
定長:char (聲明固定長度)
'a' -> char(10) -> 10
'ab' -> char(10) -> 10
變長:varchar (根據(jù)實(shí)際存儲(chǔ)的長度為準(zhǔn))
'a' -> varchar(10) -> 1
'ab' -> varchar(10) -> 2
2.所允許存儲(chǔ)的最大長度;
char: 2000
varchar: 4000
varchar與varchar2的區(qū)別:
1.制定廠商不同:
varchar:ANSI
varchar2:Oracle
2.承諾不同;
3)日期:date '01-JAN-08'
世紀(jì),年,月,日,時(shí),分,秒

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
38代表總位數(shù) 3代表小數(shù)點(diǎn)后面位數(shù)
number(p,s)
p:1~38
s:-84~127
p>0,對(duì)s分2種情況:1. s>0
精確到小數(shù)點(diǎn)右邊s位,并四舍五入。然后檢驗(yàn)有效數(shù)位是否<=p;如果s>p,小數(shù)點(diǎn)右邊至少有s-p個(gè)0填充。
2. s<0
精確到小數(shù)點(diǎn)左邊s位,并四舍五入。然后檢驗(yàn)有效數(shù)位是否<=p+|s|
123.2564 NUMBER 123.2564
1234.9876 NUMBER(6,2) 1234.99
12345.12345 NUMBER(6,2) Error
1234.9876 NUMBER(6) 1235
12345.345 NUMBER(5,-2) 12300
1234567 NUMBER(5,-2) 1234600
12345678 NUMBER(5,-2) Error
123456789 NUMBER(5,-4) 123460000
1234567890 NUMBER(5,-4) Error
12345.58 NUMBER(*, 1) 12345.6
0.1 NUMBER(4,5) Error
0.01234567 NUMBER(4,5) 0.01235
0.09999 NUMBER(4,5) 0.09999
擴(kuò)展資料
oracle中數(shù)據(jù)類型number(m,n)中m表示的是所有有效數(shù)字的位數(shù),n表示的是小數(shù)位的位數(shù)。m的范圍是1-38,即最大38位。
1> .NUMBER類型細(xì)講:
Oracle number datatype 語法:NUMBER[(precision [, scale])]
簡稱:precision --> p
scale --> sNUMBER(p, s)
范圍: 1 <= p <= 38,
-84 <= s <= 127
保存數(shù)據(jù)范圍: -1.0e-130 <= number value < 1.0e+126
保存在機(jī)器內(nèi)部的范圍: 1 ~ 22 bytes有效位:從左邊第一個(gè)不為0的數(shù)算起的位數(shù)。
s的情況:
s > 0 ,精確到小數(shù)點(diǎn)右邊s位,并四舍五入。然后檢驗(yàn)有效位是否 <= p。
s < 0 ,精確到小數(shù)點(diǎn)左邊s位,并四舍五入。然后檢驗(yàn)有效位是否 <= p + |s|。
s = 0 ,此時(shí)NUMBER表示整數(shù)。
添加回答
舉報(bào)