首页 > 解决方案 > 不能分割Postgresql

问题描述

有人可以告诉我为什么这不起作用,如果我将其更改为乘法它会起作用但不是除法。

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

标签: sqlpostgresql

解决方案


为避免被零除, 您可以将零替换为 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

推荐阅读