Posted on 2007-07-03 21:35
leekiang 閱讀(2143)
評論(0) 編輯 收藏 所屬分類:
oracle
number(p,s) p:1~38 s:-84~127
最高整數(shù)位數(shù)=p-s
s正數(shù),小數(shù)點(diǎn)右邊指定位置開始四舍五入
s負(fù)數(shù),小數(shù)點(diǎn)左邊指定位置開始四舍五入
s是0或者未指定,四舍五入到最近整數(shù)
當(dāng)p小于s時候,表示數(shù)字是絕對值小于1的數(shù)字,且從小數(shù)點(diǎn)右邊開始的前s-p 位必須是0,保留s位小數(shù)。
p>0,對s分2種情況:
1. s>0
精確到小數(shù)點(diǎn)右邊s位,并四舍五入。然后檢驗(yàn)有效數(shù)位是否<=p;如果s>p,小數(shù)點(diǎn)右邊至少有s-p個0填充。
2. s<0
精確到小數(shù)點(diǎn)左邊s位,并四舍五入。然后檢驗(yàn)有效數(shù)位是否<=p+|s|
比如
Value Datatype Stored Value
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
0.099996 NUMBER(4,5) <>
