2009-09-04 3 views
32

Lorsque j'essaie d'obtenir la somme d'une colonne d'une table, j'obtiens l'erreur Arithmetic overflow error converting expression to data type int car le nombre résultant est trop grand pour un INT. J'ai donc essayé de CAST à un BIGINT en utilisant ce qui suitErreur de dépassement de capacité arithmétique lors de la sommation d'un INT, comment le convertir en BIGINT?

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

Cela me donne la même erreur. Des idées ce que je fais mal?

Répondre

58

Essayez de le convertir avant de faire la somme. par exemple.

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

ou

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

Merci. Cela fonctionne et je peux voir où je me suis trompé. –

Questions connexes