oracle number(p,s)

oracle number(precision,scale)记录:

1. oracle存储数据时候用科学计数法( scientific notation)。其中一个字节用于存储指数(exponent),最多用20字节存放尾数(mantissa),也就是浮点数的有效尾数这个数字几乎是无穷大的。假设这个最大数为x,2^8-1=255,2^20-1=1048575,x=1048575*10^255=1.048575e+261)
2. oracle number数据类型用于存储整数和浮点数(fixed and floating-point),number基本上可以存储绝大多数的数字。
3. oracle不会存储前导0(leading zero)和结尾0(trailing zero)。
4. oracle number(p,s)中负小数位(s)的含义:表示从小数位向左数的第|s|位开始四舍五入

HR >create table test (id number(8,2));


Table created.


HR >insert into test values(122.333);

HR >insert into test values(122.30); 

HR >select id from test;   ----尽管有足够的小数位,也不会有尾0         
        ID
----------
    122.33
     122.3
HR >alter table test modify id number (8,-2);   ---修改为负小数位
alter table test modify id number (8,-2)
                        *
ERROR at line 1:
ORA-01440: 要减小精度或标度, 则要修改的列必须为空


HR >delete from test;


1 row deleted.


HR >alter table test modify id number (8,-2);


Table altered.


HR >insert into test values(162.333); 
HR >insert into test values(122.333); 


HR >select id from test;  ---使用负小数位四舍五入。               


        ID
----------
       200
       100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值