有人可以告诉我为什么这不起作用,如果我把它改成乘法它会起作用而不是分裂。
SELECT (a.sales_value / a.margin) as GP
答案 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