The hazards of division by zero are well known, but easy to overlook when the zero is obfuscated by a column name. 


This rule raises an issue when a column that is not constrained to be non-zero is used as the denominator in division or modulo in a ``++WHERE++`` clause. Such an issue is raised _even if_ the ``++WHERE++`` clause contains a condition limiting the column to non-zero values because the evaluation sequence of ``++WHERE++`` clauses is not guaranteed.


An issue is also raised if such a column is used in division or modulo in a ``++SELECT++`` clause and there's no ``++WHERE++`` clause condition to limit the value to non-zero. 


== Noncompliant Code Example

----
SELECT id, name
FROM product
WHERE price / discount > .3  -- Noncompliant
  AND discount > 0
----

