Oracle data type number

Oracle numbergit

NUMBER [ (p [, s]) ]ide

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.ui

scale是可选的。spa

SQL> drop tablet_number purge;ci

Table droppedit

SQL> create tablet_number(id number(5), id1 number(5,3));io

Table createdtable

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

1 row insertedrequire

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小数位超出长度会进行四舍五入,整数位超出长度报错