Ошибка деления на ноль в SQL-запросах возникает при выполнении операции деления, когда знаменатель или делитель равен нулю. 2
Также ошибка может появляться из-за целочисленного деления, при котором дробная часть отбрасывается. 1
Чтобы её устранить, можно попробовать следующее:
- Преобразовать хотя бы один из аргументов в число с плавающей запятой. 1 Для этого нужно использовать функцию CAST или умножить числитель на 1,0, что автоматически преобразует его в число с плавающей точкой. 1
- Использовать функцию NULLIF. 14 Она принимает два аргумента: интересующее выражение и значение, которое нужно переопределить. 2 Если первый аргумент равен второму, то NULLIF возвращает NULL, в противном случае — первый аргумент. 2
- Применить оператор CASE. 2 Он проверяет значение параметра и в зависимости от него возвращает значение. 2 Если значение равно нулю, то возвращается NULL, если нет — выполняется арифметическая операция и возвращается результат. 2