Sql 在这个case语句中,如何处理被零除的情况

Sql 在这个case语句中,如何处理被零除的情况,sql,division,handle,zero,Sql,Division,Handle,Zero,在这个案例陈述中,我有一个“除以”。我如何修改它以处理零错误的div CASE WHEN INVOICE_V.INVC_TYPE = 0 then (((INVC_ITEM_V.PRICE - INVC_ITEM_V.TAX_AMT)*INVC_ITEM_V.QTY) - (INVC_ITEM_V.COST * INVC_ITEM_V.QTY)) / ((INVC_ITEM_V.PRICE - INVC_ITEM_V.TAX_AMT)*INVC_ITEM

在这个案例陈述中,我有一个“除以”。我如何修改它以处理零错误的div

CASE WHEN INVOICE_V.INVC_TYPE = 0 then 
    (((INVC_ITEM_V.PRICE - INVC_ITEM_V.TAX_AMT)*INVC_ITEM_V.QTY) -  
     (INVC_ITEM_V.COST * INVC_ITEM_V.QTY)) 
        / ((INVC_ITEM_V.PRICE - INVC_ITEM_V.TAX_AMT)*INVC_ITEM_V.QTY)*100 
    else 0 END as EXT_M_PERCENT,
如果“handle”的意思是返回0,则可以执行以下操作:

CASE WHEN INVOICE_V.INVC_TYPE = 0 
      AND (((INVC_ITEM_V.PRICE - INVC_ITEM_V.TAX_AMT)*INVC_ITEM_V.QTY) <> 0 THEN 
发票类型=0时的情况
和((存货项目与价格-存货项目与税费金额)*存货项目与数量)0

@500 InternalServerError-嗯,什么?通常它会抛出某种类型的错误,就像几乎所有的语言。除非你想的是特定的db?@Clockwork Muse:是的,对不起,划破它的大脑*…是的,我的意思是返回零以防止被零除的错误。所以我想说的基本上是“评估”被零除的错误“如果是0,则返回0,否则继续”@FraserKelly——那么您应该接受我的回答,因为它解决了您的问题。