2009-09-04 10 views
32

Quando provo a ottenere la somma di una colonna da una tabella, ottengo l'errore Arithmetic overflow error converting expression to data type int perché il numero risultante è troppo grande per un INT. Così ho provato a CAST ad una BIGINT utilizzando il seguenteErrore di overflow aritmetico durante la somma di un INT, come faccio a lanciarlo come BIGINT?

SELECT CAST(SUM(columnname) AS BIGINT) FROM tablename 

Questo mi dà lo stesso errore. Qualche idea su cosa sto facendo male?

risposta

58

Provare a convertirlo prima di sommare. per esempio.

SELECT SUM(CONVERT(bigint, columnname)) FROM tablename 

o

SELECT SUM(CAST(columnname AS BIGINT)) FROM tablename 
+0

Grazie. Funziona e vedo dove ho sbagliato. –

Problemi correlati