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

标题: OracleException: OCI-22053: 溢出错误的原因及解决办法 [打印本页]

作者: 万望    时间: 2020-4-4 14:24
标题: OracleException: OCI-22053: 溢出错误的原因及解决办法

如上图,运行窗体提示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


作者: 张兴康    时间: 2020-4-4 14:43
不错,赞一个
作者: 陈晓龙    时间: 2020-4-4 15:00
不错,下次遇到就晓得了!
作者: 陈晓龙    时间: 2020-4-4 15:01
支持原创。33个赞!
作者: 万望    时间: 2020-4-4 17:17

作者: 万望    时间: 2020-4-4 17:36





欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2