Oracle number
NUMBER [ (p [,s]) ]
Number having precision p and scale s. Theprecision p can range from 1 to 38. The scale s can range from -84 to 127. Bothprecision and scale are in decimal digits. A NUMBER value requires from 1 to 22bytes.
scale是可选的。
sql> drop tablet_number purge;
Table dropped
sql> create tablet_number(id number(5),id1 number(5,3));
Table created
sql> insert intot_number values(10000.8999999999999999999999299988888888888889,10.003);
1 row inserted
sql> insert intot_number values(10000.8999999999999999999999299988888888888889,10.0034);
1 row inserted
sql> --insert intot_number values(10000.8999999999999999999999299988888888888889,100.003); --报错
sql> commit;
Commit complete
sql> select * fromt_number;
IDID1
------ -------
1000110.003
1000110.003
在Oracle中NUMBER的定义:
1、只有一个参数时,如NUMBER(24)。表示所定义的数字最大可设置24位整数。
2、有两个参数时,如NUMBER(38,3)。表示所定义的数字最大是38位长,其中包含3位小数。就是说这个类型最大可设置35位整数和3位小数。
3、小数位超出长度会进行四舍五入,整数位超出长度报错。