Om heltalsvärdet överstiger ett visst värde får du det här felet
- För att fixa aritmetiskt överflödesfel måste du konvertera resultat från int till big int datatyp.
- Alternativt kan du konvertera hela kolumnen till big int-typ för att undvika felet.
Aritmetiskt spillfel som konverterar uttryck till datatyp int är ett SQL-fel, och om det inträffar kommer din fråga inte att köras, vilket hindrar dig från att få dina data.
Som ett resultat kommer vissa delar av din app inte att fungera korrekt, och detta kan orsaka ytterligare problem. Därför är det viktigt att åtgärda det här problemet omedelbart, och i den här guiden kommer vi att visa dig de bästa sätten att göra det.
Vad är aritmetiskt spillfel som konverterar uttryck till datatyp int?
Det här felet indikerar att ett SQL-värde är för stort och inte kan hanteras av en heltalsdatatyp. Om ditt värde är större än 2 147 483 647 kommer heltalsdatatypen inte att kunna bearbeta det och du får det tidigare nämnda felet.
Hur fixar jag aritmetiskt spillfel när uttrycket konverteras till datatypen int?
1. Konvertera värdet till bigint
- Öppna din kod.
- Använd följande kod:
SELECT SUM(CAST(balance AS bigint)) FROM Accounts;
- Spara ändringar.
Med CAST-kommandot konverterar du resultaten från ett heltal till en datatyp med stort heltal.
2. Ändra hela kolumnen
- Öppna SQL-skalet.
- Kör nu följande kommandon:
ALTER TABLE your_table_name
ALTER COLUMN balance BIGINT;
- Spara ändringar.
Med dessa kommandon ändrar du datatypen för hela kolumnen från int till big int, vilket ökar det maximala värdet som stöds.
- Fix: Hulu felkod P-DEV317
- Disney Plus Inget giltigt bithastighetsfel: Hur man snabbt åtgärdar det
- Fix: Vi kan inte verifiera din e-post nu Hulu-fel
- Hulu webbsida inte tillgänglig: Hur man åtgärdar det här felet
- Fix: Kan inte ladda ner Vänligen be att det skickas om till dig WhatsApp-fel
3. Ersätt count med count_big
- Öppna din kod.
- Leta sedan upp räknelinjen, den ska se ut så här:
count(*) as count
- Ersätt den med följande:
count_big(*) as count
- Spara ändringarna.
Aritmetiskt spillfel vid konvertering av uttryck till datatyp int, satsen har avslutats fel kommer att få din applikation att krascha, eftersom dina variabler är för stora, men det kan enkelt lösas genom att konvertera dem.
Serverfel kan vara allvarliga, och vi har redan täckt det 0x80040e14 SQL Server-fel i en av våra tidigare guider. Ett inkompatibelt OS kan också orsaka problem med SQL, och många användare rapporterade att operativsystem stöds inte av SQL Server meddelanden.
Dessa fel kan ibland leda till databaskorruption, och om du någonsin stöter på det här problemet har vi en guide om hur du reparera en skadad databas i SQL Server.
Har du någonsin stött på ett aritmetiskt spillfel när du konverterade uttryck till datatyp int i SQL Server och hur fixade du det? Låt oss veta i kommentarerna nedan!