工作记录之ORacleSQL报错:oracle ORA-01476:divisor is equal to zero

Posted Maynor学长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工作记录之ORacleSQL报错:oracle ORA-01476:divisor is equal to zero相关的知识,希望对你有一定的参考价值。

oracle ORA-01476:divisor is equal to zero

问题:除零异常

解决:
添加 decode函数

 a.ljsbrs,
    b.zzjzgsbrs,
    round( b.zzjzgsbrs / c.jzgrs, 4 ),
    to_char( SYSDATE - 1, 'yyyy-mm-dd'),
    d.jqtsbrs,
    round(( d.jqtsbrs - e.rs ) / e.rs, 4 ),
    f.jqtbbrs,
    round(( f.jqtbbrs - g.rs ) / g.rs, 4 ) 
decode(c.jzgrs,0,0,round( b.zzjzgsbrs / c.jzgrs, 4 )),
    to_char( SYSDATE - 1, 'yyyy-mm-dd' ),
    d.jqtsbrs,
    decode(e.rs,0,0,round(( d.jqtsbrs - e.rs ) / e.rs, 4 )),
    f.jqtbbrs,
    decode(g.rs,0,0,round(( f.jqtbbrs - g.rs ) / g.rs, 4 )) 

ERROR StdoutPluginCollector -

java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (USR_JXZX_DSJKF_MODEL.SYS_C001362707) violated
主键不一致,须联系数据中心修改

经DataX智能分析,该任务最可能的错误原因是:

com.alibaba.datax.common.exception.DataXException: Code:[Framework-14], Description:[DataX传输脏数据超过用户预期,该错误通常是由于源端数据存在较多业务脏数据导致,请仔细检查DataX汇报的脏数据日志信息, 或者您可以适当调大脏数据阈值 .]. - 脏数据条数检查不通过,限制是[0]条,但实际上捕获了[42]条.

经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[Framework-14], Description:[DataX传输脏数据超过用户预期,该错误通常是由于源端数据存在较多业务脏数据导致,请仔细检查DataX汇报的脏数据日志信息, 或者您可以适当调大脏数据阈值 .]. - 脏数据条数检查不通过,限制是[0]条,但实际上捕获了[20]条.

数据库被撑爆了

以上是关于工作记录之ORacleSQL报错:oracle ORA-01476:divisor is equal to zero的主要内容,如果未能解决你的问题,请参考以下文章

Oracle SQL语言之查询语句_超越OCP精通Oracle视频教程培训29

Oracle SQL 与 Oracle PL/SQL [关闭]

ORACLESQL语句的优化

Oracle SQL语言之常用函数_超越OCP精通Oracle视频教程培训30

Oracle SQL调优记录

oracle SQL中的连续记录