number

数值类型,是一种变长类型,长度为0-22字节。

存储的数值的精度可以达到38位。

number(p,s)

P和s都是可选的。

P指精度(precision),即总位数。默认情况下精度为38。精度的取值范围为1~38.

S指小数位scale,小数点右边的位数。小数点位数的合法值为-48~127。小数位的默认值由精度来决定。

如果指定了精度,没有指定小数位,小数位默认为0(即没有小数位)。

演示

SQL>create table test_number(col_number number(6,2));

insert into test_number values(-1);

insert into test_number values(0);

insert into test_number values(1);

insert into test_number values(2);

insert into test_number values(11.00);

insert into test_number values(11.11);

insert into test_number values(1234.12);

insert into test_number values(1234.122);

insert into test_number values(1234.125);

insert into test_number values(-0.1);

insert into test_number values(-11.11);

insert into test_number values(-1234.12);

insert into test_number values(9999.99);

insert into test_number values(9998.999);

SQL>select * from test_number;

描述

显示每行存储结构

SQL> select col_number, dump(col_number) from test_number;

描述

number是一个变长类型。不同的数值占用不同的空间

对小数存储时,它并没有一个小数的标志位

小数位告诉系统保留多少位小数,从哪里开始舍入。

精度从舍入的位置开始,数值中允许有多少位。

最后修改:2023 年 12 月 03 日
如果觉得我的文章对你有用,请随意赞赏