【Oracle】C# 执行SQL时算术运算导致溢出
2017-12-28 10:33
309 查看
【问题】
SQL:
pl/sql developer执行SQL时没有问题
在C#程序里确报算术运算导致溢出。
【分析】
1、排除数据为0的原因
2、百度后 Oracle的精度和C#之间的精度是不一致的
【结论】
涉及到“除”的SQL语句语句的时候,都可用用round来把精度降低 。
SQL:
select XH,ZBMC,ZBBZMS,SJZ,ABS(SJZ-ZBBZZ) BZBZCY from ( select X.XH,X.ZBMC,X.ZBBZMS,X.ZBBZZ, (case when XH=1 then (XM1-XM2)/XM3 when XH=2 then (XM4-XM5)/XM6 when XH=3 then (XM7-XM8)/XM9 when XH=4 then (XM10-XM11)/XM12 when XH=5 then XM13/XM14 when XH=6 then (XM15+XM16+XM17)/(XM18+XM19+XM20) when XH=7 then XM21/XM22 when XH=8 then XM23/XM24 when XH=9 then XM25/XM26 when XH=10 then XM27/XM28 when XH=11 then (XM29-XM30)/XM31 when XH=12 then XM32/(XM33-XM34) when XH=13 then XM35/XM36*XM37 when XH=14 then (XM38-XM39)/XM40 when XH=15 then XM41/XM42 when XH=16 then (XM43-XM44)/XM43 when XH=17 then XM45/XM46 when XH=18 then XM47/XM48 when XH=19 then XM49/XM50 when XH=20 then XM51/XM52 when XH=21 then XM53/XM54 end) SJZ from JGZBXM X left join JGZBSJ S on S.YF=:TJYF )
pl/sql developer执行SQL时没有问题
在C#程序里确报算术运算导致溢出。
【分析】
1、排除数据为0的原因
2、百度后 Oracle的精度和C#之间的精度是不一致的
【结论】
涉及到“除”的SQL语句语句的时候,都可用用round来把精度降低 。
相关文章推荐
- C# 连接ORACLE数据库,执行查询提示“算术运算导致溢出。”
- 在oracle中在两个整型值之间执行按位逻辑与运算的运算符是什么?类似sql中的
- 【转】.net算术运算导致溢出
- ado执行sql查询出现“发送数据流时出现算术溢出”错误
- C#报算术运算导致溢出的错误
- Oracle C#的"算术运算导致溢出"错误
- 【转自Oracle ACE --杨廷琨】sqlplus注释导致语句重复执行
- ado执行sql查询出现“发送数据流时出现算术溢出”错误
- ORACLE:执行计划中BITMAP AND导致sql慢
- Oracle数据库案例整理-Oracle系统执行失败-sql_trace至TRUE导致Oracle在根文件夹中缺乏可用空间
- 运行窗体跳转时提示未处理System.OverflowException HResult=-2146233066 Message=算术运算导致溢出。 Source=DevExpress.U
- Oracle数据库案例整理-执行Oracle脚本失败或异常-SQL命令中字符串参数使用双引号导致更新数据库表信息失败
- Oracle数据库案例整理-执行Oracle脚本失败或异常-oracle用户没有目录可执行权限导致执行SQL脚本失败
- Oracle 的listener.log 日志超过4G导致SQL速度极慢,监听命令能执行要10min。
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- ORACLE 动态执行SQL语句
- 000015.OracleSQL执行计划
- 将oracle SQL语句执行结果导入文本文件
- Oracle SQL执行计划基线总结(SQL Plan Baseline)
- 在Oracle中执行动态SQL的几种方法