Poprawka: Błąd przepełnienia arytmetycznego podczas konwersji wyrażenia na typ danych INT

Poprawka: Błąd przepełnienia arytmetycznego podczas konwersji wyrażenia na typ danych INT
błąd przepełnienia arytmetycznego podczas konwersji wyrażenia na typ danych int dateadd

Błąd przepełnienia arytmetycznego podczas konwersji wyrażenia na typ danych int jest błędem SQL i jeśli wystąpi, zapytanie nie zostanie wykonane, co uniemożliwi uzyskanie danych.

W rezultacie niektóre części aplikacji nie będą działać poprawnie, co może powodować dodatkowe problemy. Dlatego ważne jest, aby natychmiast rozwiązać ten problem, a w tym przewodniku pokażemy Ci najlepsze sposoby, aby to zrobić.

Co to jest błąd przepełnienia arytmetycznego podczas konwersji wyrażenia na typ danych int?

Ten błąd wskazuje, że wartość SQL jest zbyt duża i nie może być obsługiwana przez typ danych typu całkowitego. Jeśli Twoja wartość jest większa niż 2 147 483 647, typ danych całkowitych nie będzie w stanie jej przetworzyć i pojawi się wyżej wymieniony błąd.

Jak naprawić błąd przepełnienia arytmetycznego podczas konwersji wyrażenia na typ danych int?

1. Przekonwertuj wartość na bigint

  1. Otwórz swój kod.
  2. Użyj następującego kodu:SELECT SUM(CAST(balance AS bigint)) FROM Accounts;
  3. Zapisz zmiany.

Za pomocą polecenia CAST przekonwertujesz wyniki z typu danych typu integer na big integer.

2. Zmień całą kolumnę

  1. Otwórz powłokę SQL.
  2. Teraz uruchom następujące polecenia:ALTER TABLE your_table_nameALTER COLUMN balance BIGINT;
  3. Zapisz zmiany.

Za pomocą tych poleceń zmienisz typ danych całej kolumny z int na big int, zwiększając w ten sposób maksymalną obsługiwaną wartość.

3. Zamień count na count_big

  1. Otwórz swój kod.
  2. Następnie zlokalizuj linię zliczania, powinna wyglądać tak:count(*) as count
  3. Zastąp go następującym: count_big(*) as count
  4. Zapisz zmiany.

Błąd przepełnienia arytmetycznego podczas konwersji wyrażenia na typ danych int, instrukcja została zakończona. Błąd spowoduje awarię aplikacji, ponieważ zmienne są za duże, ale można to łatwo rozwiązać, konwertując je.

Błędy serwera mogą być poważne i omówiliśmy już błąd 0x80040e14 SQL Server w jednym z naszych wcześniejszych przewodników. Niekompatybilny system operacyjny może również powodować problemy z SQL, a wielu użytkowników zgłaszało, że system operacyjny nie jest obsługiwany przez komunikaty SQL Server .

Czy kiedykolwiek napotkałeś błąd przepełnienia arytmetycznego podczas konwersji wyrażenia na typ danych int w SQL Server i jak go naprawiłeś? Daj nam znać w komentarzach poniżej!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *