JAVA执行SQL报错, java.sql.SQLException: ORA-01438: 值大于为此列指定的允许精度

java执行insert插入的数值是222.00oracle库中对应的字段也是number(5,2)但用程序执行就报错《java.sql.SQLException:ORA... java 执行insert插入的数值是222.00 oracle库中对应的字段也是number(5,2)但用程序执行就报错《java.sql.SQLException: ORA-01438: 值大于为此列指定的允许精度》,我在SQL中把222.00拿到库中直接执行for update将这个数改到库中就可以成功,有达人知道为什么吗? 展开
 我来答
老冯言井故事
推荐于2018-03-02 · TA获得超过416个赞
知道小有建树答主
回答量:252
采纳率:100%
帮助的人:258万
展开全部
我想你java里定义的应该是float或者double类型吧?float是精确到小数点后6位,double是15位..所以你的222.00应该保存的比这个要更精确,而你的oracle里,只精确了两位所以....就是这个错误了,其实如果要求不严的话,直接定义成number就行了,那么接到的值是什么精度什么类型的他就自动存了.
kirinjiang
2012-06-08 · TA获得超过230个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:300万
展开全部
你用整数类型插入数据库中。数字库字段类型是number(5,2)。他会自动加上小数点的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xupanxxx
2012-06-08 · TA获得超过270个赞
知道答主
回答量:146
采纳率:100%
帮助的人:103万
展开全部
可能是java数据的精度问题导致的,检查一下这个变量的数据类型对不对。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caojschy
2012-06-07 · 超过16用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:32.9万
展开全部
把java程序代码贴出来瞧瞧
追问
用预编译了,我就是打个段点把值拿出来了,插到库里能成功。。。
追答
java和oracle怎么交互的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式