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.8999999999999999999×××99988888888888889,10.003);

1 row inserted

SQL> insert intot_number values(10000.8999999999999999999×××99988888888888889,10.0034);

1 row inserted

SQL> --insert intot_number values(10000.8999999999999999999×××99988888888888889,100.003); --报错

SQL> commit;

Commit complete

SQL> select * fromt_number;

    ID    ID1

------ -------

 10001 10.003

 10001 10.003

 

OracleNUMBER的定义:

1、只有一个参数时,如NUMBER(24)。表示所定义的数字最大可设置24位整数。

2、有两个参数时,如NUMBER(38,3)。表示所定义的数字最大是38位长,其中包含3位小数。就是说这个类型最大可设置35位整数和3位小数。

3小数位超出长度会进行四舍五入,整数位超出长度报错