Oracle alter table

本文详细解析了 Oracle 数据库中 NUMBER 数据类型的使用方法及其特点,包括精度、小数位数等参数的影响,并通过实例展示了不同设置下数值的存储表现。

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

varchar2变长,最大4k;char定长,效率高但占空间;

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

number:

NUMBER[(precision [, scale])]
简称:precision --> p
            scale     --> s

NUMBER(p, s)
范围: 1 <= p <=38, -84 <= s <= 127
保存数据范围:-1.0e-130 <= number value < 1.0e+126    
保存在机器内部的范围: 1 ~ 22 bytes

有效为:从左边第一个不为0的数算起的位数。
s的情况:
s > 0
   精确到小数点右边s位,并四舍五入。然后检验有效位是否 <= p。
s < 0
   精确到小数点左边s位,并四舍五入。然后检验有效位是否 <= p + |s|。
s = 0
   此时NUMBER表示整数。  

eg:
Actual Data   Specified As  Stored As
----------------------------------------
123.89           NUMBER           123.89
123.89           NUMBER(3)      124
123.89           NUMBER(6,2)   123.89
123.89           NUMBER(6,1)   123.9
123.89           NUMBER(4,2)   exceeds precision (有效位为5, 5 > 4)
123.89           NUMBER(6,-2)  100
.01234           NUMBER(4,5)   .01234 (有效位为4)
.00012           NUMBER(4,5)   .00012
.000127         NUMBER(4,5)   .00013
.0000012       NUMBER(2,7)   .0000012
.00000123      NUMBER(2,7)   .0000012
1.2e-4             NUMBER(2,5)    0.00012
1.2e-5             NUMBER(2,5)    0.00001
123.2564        NUMBER           123.2564
1234.9876       NUMBER(6,2)   1234.99
12345.12345   NUMBER(6,2)   Error (有效位为5+2 > 6)
1234.9876      NUMBER(6)       1235 (s没有表示s=0)
12345.345      NUMBER(5,-2)  12300
1234567         NUMBER(5,-2)  1234600
12345678       NUMBER(5,-2)  Error (有效位为8 > 7)
123456789     NUMBER(5,-4)  123460000
1234567890   NUMBER(5,-4)  Error (有效位为10 > 9)
12345.58        NUMBER(*, 1)   12345.6
0.1                  NUMBER(4,5)   Error (0.10000, 有效位为5 > 4)
0.01234567    NUMBER(4,5)   0.01235
0.09999         NUMBER(4,5)      0.09999
----------------------------------------------------------------------------------------

date;long最大2G

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

create table stu_tab

(

id number(6),

name varchar2(20),

grade number(2) default 1             设默认值为1

);
----------------------------------------------------------------------------------------

改表名:        alter table stu_tab rename to stu;

改字段名:    alter table stu rename column name to stu_name;

改字段类型:alter table stu modify (id number(10));

加字段:        alter table stu add (adr varchar2(30));

删字段:        alter table stu drop (adr);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值