度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 1187|回复: 5
打印 上一主题 下一主题

[分享] OracleException: OCI-22053: 溢出错误的原因及解决办法

[复制链接]

348

主题

3572

帖子

9328

积分

论坛元老

Rank: 8Rank: 8

积分
9328
跳转到指定楼层
楼主
发表于 2020-4-4 14:24:41 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

如上图,运行窗体提示OCI-22053溢出错误,根据从网上查询资料,得知是数字类型的字段的位数过多造成的。

接下来我直接查询了一下数据库的这张表发现:着色区域出现科学计数法的数据。


原因分析

Oracle 数值数据类型最多可存储 38 个字节的精度。当将 Oracle 数值转换为公共语言运行库数据类型时,小数点后边的位数可能过多,这会导致此错误。

解决方法:

使用round()函数:

如何使用 Oracle Round 函數 (四舍五入)

描述 : 传回一個数值,该数值是按照指定的小数位元数进行四捨五入运算的結果。
SELECT ROUND( number, [ decimal_places ] ) FROM DUAL
参数:
number : 欲处理之数值
decimal_places :四舍五入小数取几位 ( 预设为 0 )
例子 :
select round(123.456) from dual;              回传 123
select round(123.456, 0) from dual;            回传   123
select round(123.456, 1) from dual;          回传 123.5
select round(123.456, 2) from dual;          回传 123.46
select round(123.456, 3) from dual;          回传 123.456
select round(-123.456, 2) from dual;         回传-123.46

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复

使用道具 举报

348

主题

3572

帖子

9328

积分

论坛元老

Rank: 8Rank: 8

积分
9328
6#
 楼主| 发表于 2020-4-4 17:36:27 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9328

积分

论坛元老

Rank: 8Rank: 8

积分
9328
5#
 楼主| 发表于 2020-4-4 17:17:09 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
地板
发表于 2020-4-4 15:01:12 | 只看该作者
支持原创。33个赞!
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
板凳
发表于 2020-4-4 15:00:08 | 只看该作者
不错,下次遇到就晓得了!
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
沙发
发表于 2020-4-4 14:43:24 | 只看该作者
不错,赞一个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-24 19:38 , Processed in 0.148670 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表