Ako vrijednost cijelog broja premaši određenu vrijednost, dobit ćete ovu pogrešku
- Da biste ispravili pogrešku aritmetičkog prekoračenja, morate pretvoriti rezultate iz int u big int tip podataka.
- Alternativno, možete pretvoriti cijeli stupac u tip big int kako biste izbjegli pogrešku.
Pogreška aritmetičkog prekoračenja pretvaranja izraza u tip podataka int je SQL pogreška, a ako se dogodi, vaš upit neće biti izvršen, što vas sprječava da dobijete svoje podatke.
Kao rezultat toga, određeni dijelovi vaše aplikacije neće ispravno raditi, a to može uzrokovati dodatne probleme. Stoga je važno odmah riješiti ovaj problem, a u ovom vodiču pokazat ćemo vam najbolje načine da to učinite.
Što je aritmetička pogreška prekoračenja pretvaranja izraza u tip podataka int?
Ova pogreška ukazuje na to da je SQL vrijednost prevelika i ne može njome upravljati cjelobrojni tip podataka. Ako je vaša vrijednost veća od 2,147,483,647, tip podataka integer neće je moći obraditi i dobit ćete gore navedenu pogrešku.
Kako mogu popraviti pogrešku aritmetičkog prekoračenja pretvarajući izraz u tip podataka int?
1. Pretvorite vrijednost u bigint
- Otvorite svoj kod.
- Koristite sljedeći kôd:
SELECT SUM(CAST(balance AS bigint)) FROM Accounts;
- Spremi promjene.
Pomoću naredbe CAST pretvorit ćete rezultate iz cijelog broja u veliki cijeli broj.
2. Promijenite cijeli stupac
- Otvorite SQL ljusku.
- Sada pokrenite sljedeće naredbe:
ALTER TABLE your_table_name
ALTER COLUMN balance BIGINT;
- Spremi promjene.
Pomoću ovih naredbi promijenit ćete tip podataka cijelog stupca iz int u big int, čime se povećava najveća podržana vrijednost.
- Popravak: Hulu kod pogreške P-DEV317
- Pogreška Disney Plus No Valid Bitrate: Kako to brzo popraviti
- Popravak: ne možemo sada potvrditi vašu e-poštu Hulu pogreška
- Web stranica Hulu nije dostupna: Kako popraviti ovu pogrešku
- Popravak: preuzimanje nije moguće. Zamolite da vam se ponovno pošalje. WhatsApp pogreška
3. Zamijenite count s count_big
- Otvorite svoj kod.
- Zatim pronađite liniju brojanja, trebala bi izgledati ovako:
count(*) as count
- Zamijenite ga sljedećim:
count_big(*) as count
- Spremite promjene.
Pogreška aritmetičkog prekoračenja pretvaranja izraza u tip podataka int, izjava je prekinuta pogreška će uzrokovati rušenje vaše aplikacije jer su vaše varijable prevelike, ali to se može lako riješiti njihovim pretvaranjem.
Pogreške poslužitelja mogu biti ozbiljne, o čemu smo već govorili 0x80040e14 Pogreška SQL poslužitelja u jednom od naših ranijih vodiča. Nekompatibilni OS također može uzrokovati probleme sa SQL-om, a mnogi su korisnici izvijestili da je SQL Server ne podržava operativni sustav poruke.
Ove pogreške ponekad mogu dovesti do oštećenja baze podataka, a ako ikada naiđete na ovaj problem, imamo vodič o tome kako popraviti oštećenu bazu podataka u SQL Serveru.
Jeste li se ikada susreli s pogreškom aritmetičkog prekoračenja pri pretvaranju izraza u tip podataka int u SQL Serveru i kako ste je popravili? Javite nam u komentarima ispod!