8134: Ошибка деления на ноль
SQL ServerЧто это значит?
Произошла ошибка деления на ноль, поскольку делитель в арифметическом выражении равен нулю. SQL Server не может выполнить деление и останавливает запрос.
Почему возникает?
Столбец или выражение, используемые как делитель, равны 0, нулевой знаменатель при вычислении среднего/отношения, деление без NULLIF или неожиданные нулевые значения в данных.
Как исправить
Защищайте знаменатель с помощью NULLIF (например, value / NULLIF(denominator, 0)); результат становится NULL, а значение по умолчанию можно задать через ISNULL/COALESCE. Используйте CASE WHEN denominator = 0 THEN NULL ELSE value/denominator END. Отфильтруйте нулевые значения через WHERE перед делением. При необходимости оцените поведение SET ARITHABORT/ANSI_WARNINGS.
Ещё по этой СУБД
- 701Недостаточно системной памяти в пуле ресурсов для выполнения этого запроса
- 845Истёк тайм-аут ожидания buffer latch
- 3201Не удаётся открыть устройство бэкапа. Ошибка операционной системы (ошибка устройства бэкапа)
- 245Ошибка преобразования значения в тип данных
- 515Невозможно вставить значение NULL в столбец
- 8115Ошибка арифметического переполнения при преобразовании выражения в тип данных
- 512Подзапрос вернул более 1 значения