NUMBER(P,S)
P:1~38 S:-84~127
最高整数位数=P-S
S正数,小数点右边指定位置开始四舍五入
S负数,小数点左边指定位置开始四舍五入
S是0或者未指定,四舍五入到最近整数
当P小于S时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前S-P 位必须是0,保留S位小数。
P>0,对S分2种情况:
1.S>0
精确到小数点右边S位,并四舍五入。然后检验有效数位是否<=P;如果S>P,小数点右边至少有S-P个0填充。
2. S<0
精确到小数点左边S位,并四舍五入。然后检验有效数位是否<=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) <>