DBAtlas · Атлас эксплуатации баз данных

8115: Ошибка арифметического переполнения при преобразовании выражения в тип данных

SQL Server

Что это значит?

Значение, полученное в результате арифметической операции или преобразования, вышло за диапазон, который может хранить целевой тип данных. Произошло переполнение, поскольку число слишком велико.

Почему возникает?

Сумма/произведение (SUM), превышающие диапазон int, большое значение, присвоенное столбцу с маленьким типом, недостаточные точность/масштаб decimal или значение IDENTITY, достигшее предела типа.

Как исправить

Используйте более широкий тип для промежуточных вычислений (например, SUM с CAST(my_column AS bigint)). Увеличьте точность/масштаб decimal. Расширьте тип столбца под данные. Преобразуйте выражения с риском переполнения до вычисления и ограничивайте диапазоны входных значений.

Открыть в DBAtlas →

Ещё по этой СУБД