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;
ID ID1
------ -------
10001 10.003
10001 10.003
在Oracle中NUMBER的定义:
1、只有一个参数时,如NUMBER(24)。表示所定义的数字最大可设置24位整数。
2、有两个参数时,如NUMBER(38,3)。表示所定义的数字最大是38位长,其中包含3位小数。就是说这个类型最大可设置35位整数和3位小数。
3、小数位超出长度会进行四舍五入,整数位超出长度报错。