Jeśli wartość całkowita przekracza określoną wartość, pojawi się ten błąd
- Aby naprawić błąd przepełnienia arytmetycznego, należy przekonwertować wyniki z typu danych int na big int.
- Alternatywnie możesz przekonwertować całą kolumnę na typ big int, aby uniknąć błędu.
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. Konwertuj wartość na bigint
- Otwórz swój kod.
- Użyj następującego kodu:
SELECT SUM(CAST(balance AS bigint)) FROM Accounts;
- Zapisz zmiany.
Za pomocą polecenia CAST przekonwertujesz wyniki z typu danych typu integer na big integer.
2. Zmień całą kolumnę
- Otwórz powłokę SQL.
- Teraz uruchom następujące polecenia:
ALTER TABLE your_table_name
ALTER COLUMN balance BIGINT;
- 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ść.
- Poprawka: kod błędu Hulu P-DEV317
- Błąd braku prawidłowego bitrate Disney Plus: jak szybko to naprawić
- Poprawka: nie możemy teraz zweryfikować Twojego adresu e-mail Błąd Hulu
- Strona internetowa Hulu jest niedostępna: jak naprawić ten błąd
- Poprawka: nie można pobrać. Poproś o ponowne przesłanie. Błąd WhatsApp
3. Zamień liczbę na liczbę_dużą
- Otwórz swój kod.
- Następnie zlokalizuj linię zliczania, powinna wyglądać tak:
count(*) as count
- Zastąp go następującym:
count_big(*) as count
- 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 już to omówiliśmy 0x80040e14 Błąd serwera SQL 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 SQL Server wiadomości.
Błędy te mogą czasami prowadzić do uszkodzenia bazy danych. Jeśli kiedykolwiek napotkasz ten problem, mamy przewodnik, jak to zrobić napraw uszkodzoną bazę danych w 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!