oracle数据库中的number数据类型疑问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库中的number数据类型疑问相关的知识,希望对你有一定的参考价值。
如果有一个字段是number类型,字段可以为空,我什么值都没有穿过去,数据库中的这个字段,会自动为0吗?
还是为null。
数据库中的number需要注意什么地方啊?
定义时注明小数位例如 number(18,4) 4即为小数位。
想要默认值是0可以在定义字段时候在后面加上default 0
例 create table test(
id number(10,2)default 0,
name varchar2(20)
);
再执行insert into test(name) values('a');后
查询 select id from test where name='a';
结果就是0.00 参考技术A 不加默认值当然不会自动为0了。读取的时候值为NULL。
定义时注明小数位例如 number(18,4) 4即为小数位。 参考技术B number类型的定义格式:number(5, 3)
其中,5代表所定义的总长度。3代表小数数位所占的长度。 参考技术C 不错,回答的很好哦
怎么更新oracle中的number类型字段
1. 将数据备份到零时表CREATE GLOBAL TEMPORARY TABLE my_temp_table ON COMMIT PRESERVE ROWS
AS SELECT c.id,c.course_credit FROM course c;
-- 2. 将要修改精度的字段设为“NULL”,等价于删除该字段的所有记录
UPDATE course c SET c.course_credit = NULL;
-- 3. 修改course表,course_credit字段的类型改为number(2,1)
ALTER TABLE course MODIFY course_credit NUMBER(2,1); 参考技术A 直接update 表名 set 字段名=字段值;
以上是关于oracle数据库中的number数据类型疑问的主要内容,如果未能解决你的问题,请参考以下文章
Oracle NUMBER 数据类型中的精度和小数位数是啥意思