范围是8位,精度为2,即存6位整数,两位小数。
其实这样的问题你在oracle测试下number(2,1)就明白了,这么贴出来解决问题反而很慢。
SQL> create table test(id1 number,id2 number(8),id3 number(8,2))
2 tablespace mytbs;
表已创建。
SQL> desc test;
名称 是否为空? 类型
----------------------------------------- -------- ---------------------
ID1 NUMBER
ID2 NUMBER(8)
ID3 NUMBER(8,2)
SQL> insert into test
2 values(2.11,2.11,2.11);
已创建 1 行。
SQL> select * from test;
ID1 ID2 ID3
---------- ---------- ----------
2.11 2 2.11
SQL> column id2 format 99999.99;
SQL> select * from test;
ID1 ID2 ID3
---------- --------- ----------
2.11 2.00 2.11
SQL> insert into test
2 values(2.121,2.121,2.121);
已创建 1 行。
SQL> select * from test;
ID1 ID2 ID3
---------- --------- ----------
2.11 2.00 2.11
2.121 2.00 2.12
SQL> insert into test
2 values(2.666,2.666,2.666);
已创建 1 行。
SQL> select * from test;
ID1 ID2 ID3
---------- --------- ----------
2.11 2.00 2.11
2.121 2.00 2.12
2.666 3.00 2.67
对比一下你就知道什么意思了···
表中字段为number型,有效位数是8,精确到小数点后两位,并四舍五入!
希望能帮到你!
number(8,2)相当于decimal(8,2)