oracle数据库创建表时,int型数据为何报错

 我来答
sxdtgsh
推荐于2016-11-17 · TA获得超过2221个赞
知道小有建树答主
回答量:913
采纳率:75%
帮助的人:805万
展开全部
oracle数据库中是有int型的,你在创建表的时候,使用int型报错,
可能的原因是你为int型增加了精度,如int(10),或者是你的oracle
版本过低造成的。
在oracle中int型与integer型都是number类型的子类型,int是integer
的简写,相当于number(38),是为了兼容ANSI/ISO和IBM的数据类型
而定义的。它的存储精度是38位。
在创表时,最好不要用int型,因为我们基本上不会用到38位的整数,
用int会浪费存储空间。int型列可以定义为number(数字)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT职场成长课
推荐于2018-03-13 · TA获得超过612个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:67万
展开全部
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就行了,不用指定大小
追问
改为char类型就好了,为什么int就不行
追答
int是可以的,你别用int(20),就写int就行了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜玄冬
2014-05-05 · 超过71用户采纳过TA的回答
知道小有建树答主
回答量:230
采纳率:100%
帮助的人:140万
展开全部
建议直接用number就可以,int不能指定长度。
int只能存取整数,等同于number(38,0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
几个木头
推荐于2018-02-14 · 超过10用户采纳过TA的回答
知道答主
回答量:21
采纳率:100%
帮助的人:22.7万
展开全部
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)。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱I薇薇
2014-05-05 · TA获得超过281个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:143万
展开全部
都是number类型的吧,你的int型,还可以为20个字节- -
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式