oracle数据库表中某个字段设置为NUMBER(10,2),为啥在页面只能输入6位整数,只有超过6位就报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库表中某个字段设置为NUMBER(10,2),为啥在页面只能输入6位整数,只有超过6位就报错相关的知识,希望对你有一定的参考价值。

在页面输入12345678这样的8位数字时,就报错,页面显示为这样的5.423423408E7带有E,要是输入7位整数也会报错,只有输入6位这样123456数字就没有错误,请问NUMBER(10,2),具体是什么意思啊?

number(10,2)表示的意思就是这个字段可以存一个10位的数字,其中两位是小数部分,也就是说整数部分有8位,最多可以表示99999999.99。其中小数位数只能小于等于2位,整数位数只能小于等于8位。至于你说的页面输入12345678这样的8位数字时,就报错,应该是你的程序处理中有修改原始的输入数据,导致入库的时候的这个数值超出了前面所说的限制。 参考技术A number(10,2) 两位小数 共10位 不算负号和小数点

你应该描述一下报错位置的代码和错误信息?猜测是字符串转数字类型出错了追问

当输入12345678时,点击页面的保存按钮,保存到数据库中,之后返回到页面的显示结果是这样的1.2365478E7,而且后台报错信息是这样的,Caused by: java.sql.SQLException: ORA-01438: 值大于为此列指定的允许精度

追答

当输入12345678时,点击页面的保存按钮,保存到数据库中,之后返回到页面的显示结果是这样的1.2365478E7

我可以理解为已经正确保存到数据库中,前台也能正确从数据库读出数据(科学记数法),只是后台有报错信息是吗?

你的报错信息的确来自ORACLE,猜测你的程序存在第二次将1.2365478E7插入到数据库,这个数字就不合法了

追问

是的,数据库表中的数据是这样的12345678.00,保存正确了,就是页面显示为这样的1.2365478E7,有个E,还有就是后台有报错信息,理解完全正确

追答

页面显示可以用String.format("%1$,10f",12345678)

本回答被提问者和网友采纳

oracle在某个表中增加字段的命令是啥

参考技术A

oracle在某个表中增加字段的命令是alter table,oracle在某个表中增加字段的操作步骤如下:

1、首先双击oracle可执行文件连接oracle数据库服务。

2、连接成功之后,用鼠标右键点击左侧表选项。

3、在右键菜单里选择新建表选项。

4、然后需要输入表名,勾选主键不能为空。

5、建表成功之后,建字段,点击如下图所示的按钮,增加字段。

6、然后点击加号,出现新的一列增加字段。

7、然后就可以输入相关的字段的属性,输入完毕点击确定即可完成新增字段。

以上是关于oracle数据库表中某个字段设置为NUMBER(10,2),为啥在页面只能输入6位整数,只有超过6位就报错的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库表的已经有数据,想修改某个字段的类型,如何修改

oracle在某个表中增加字段的命令是啥

oracle有没有方法把数据库表中的字段的所有数据中的某个字母或数字修改或替换

在oracle数据库如何查询某个字段在哪些表中出现过

oracle的date类型:我在表中的某个字段设置的类型是date,想要插入数据后显示"年月日时分秒",该如何插入

oracle字段类型NUMBER(38,3),括号中两个数字分别表示啥?