不能分割Postgresql

时间:2018-05-15 09:58:58

标签: sql postgresql

有人可以告诉我为什么这不起作用,如果我把它改成乘法它会起作用而不是分裂。

SELECT (a.sales_value / a.margin) as GP

2 个答案:

答案 0 :(得分:1)

要避免除以零,您可以用NULL替换零:

SELECT (a.sales_value / NULLIF(a.margin)) as GP

或者应用您自己的规则:

SELECT CASE
          WHEN a.margin <> 0 
          THEN (a.sales_value / a.margin)
          ELSE a.sales_value -- or 0 or 99 or whatever
       END as GP

答案 1 :(得分:0)

如果您希望NULL保证金为0 然后试试这个:

SELECT CASE a.margin WHEN 0 THEN NULL ELSE (a.sales_value / a.margin END) as GP