oracle数据库创建表时,int型数据为何报错
6个回答
展开全部
oracle数据库中是有int型的,你在创建表的时候,使用int型报错,
可能的原因是你为int型增加了精度,如int(10),或者是你的oracle
版本过低造成的。
在oracle中int型与integer型都是number类型的子类型,int是integer
的简写,相当于number(38),是为了兼容ANSI/ISO和IBM的数据类型
而定义的。它的存储精度是38位。
在创表时,最好不要用int型,因为我们基本上不会用到38位的整数,
用int会浪费存储空间。int型列可以定义为number(数字)。
可能的原因是你为int型增加了精度,如int(10),或者是你的oracle
版本过低造成的。
在oracle中int型与integer型都是number类型的子类型,int是integer
的简写,相当于number(38),是为了兼容ANSI/ISO和IBM的数据类型
而定义的。它的存储精度是38位。
在创表时,最好不要用int型,因为我们基本上不会用到38位的整数,
用int会浪费存储空间。int型列可以定义为number(数字)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
INT类型是NUMBER类型的子类型。
下面简要说明:
(1)NUMBER(P,S)
该数据类型用于定义数字类型的数据,其中P表示数字的总位数(最大字节个数),而S则表示小数点后面的位数。假设定义SAL列为NUMBER(6,2)则整数最大位数为4位(6-2=4),而小数最大位数为2位。
(2)INT类型
当定义整数类型时,可以直接使用NUMBER的子类型INT,顾名思义:INT用于整型数据。
所以你这个sla int not null就行了,不用指定大小
下面简要说明:
(1)NUMBER(P,S)
该数据类型用于定义数字类型的数据,其中P表示数字的总位数(最大字节个数),而S则表示小数点后面的位数。假设定义SAL列为NUMBER(6,2)则整数最大位数为4位(6-2=4),而小数最大位数为2位。
(2)INT类型
当定义整数类型时,可以直接使用NUMBER的子类型INT,顾名思义:INT用于整型数据。
所以你这个sla int not null就行了,不用指定大小
追问
改为char类型就好了,为什么int就不行
追答
int是可以的,你别用int(20),就写int就行了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议直接用number就可以,int不能指定长度。
int只能存取整数,等同于number(38,0)
int只能存取整数,等同于number(38,0)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。
int类型只能存储整数;
number可以存储浮点数,也可以存储整数;
number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;
number(8)存储总长度为8的整数;
int相当于number(22),存储总长度为22的整数。
所以如果使用INT,不要指定长度。要指定长度,请使用NUMBER(P,S)
另外,NUMBER 如果precision和scale没有指定,即相当于 NUMBER (38,7)。
int类型只能存储整数;
number可以存储浮点数,也可以存储整数;
number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;
number(8)存储总长度为8的整数;
int相当于number(22),存储总长度为22的整数。
所以如果使用INT,不要指定长度。要指定长度,请使用NUMBER(P,S)
另外,NUMBER 如果precision和scale没有指定,即相当于 NUMBER (38,7)。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
都是number类型的吧,你的int型,还可以为20个字节- -
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询