Oracle入门精读75-Oracle数值详解(number类型)

本文详细解析了Number数据类型的特性,包括其变长属性、存储精度、小数位数及精度的概念。通过具体实例展示了不同数值如何占用不同空间,以及小数位数如何影响数值的舍入和存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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是一个变长类型。不同的数值占用不同的空间

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值