Używam SQL Server 2008 R2 i mam kolumnę INT
gdzie dane nigdy wstawiony przewyższa max INT
, ale muszę zapytać, który wykorzystuje funkcję SUM
które po wykonaniu przewyższa limit max INT
i wyrzuca błąd, o którym mowa w tytule.Jak zapobiec błędom przepełnienia arytmetycznego podczas korzystania z kolumny SUM na INT?
Chcę móc wykonać to zapytanie bez zmiany typu kolumny z INT
na BIGINT
.
Oto moje zapytanie:
SELECT UserId,
SUM(PokemonExp) AS TotalExp,
MAX(PokemonLevel) AS MaxPokeLevel
FROM mytable
GROUP BY UserId
ORDER BY TotalExp DESC
Uwaga: Kolumna PokemonExp
jest typu INT
.
poprawna odpowiedź bardzo dziękuję – MonsterMMORPG
Na co warto, to samo się nie dzieje z AVG, nawet jeśli to tylko sumą swoich wartości, które jest przepełnione. –