2009-09-04 7 views
32

Cuando trato de obtener la suma de una columna de una tabla obtengo el error Arithmetic overflow error converting expression to data type int porque el número resultante es demasiado grande para una INT. Así que traté de CASTAR a un BIGINT usando el siguienteError de desbordamiento aritmético al sumar un INT, ¿cómo lo echo como BIGINT?

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

Esto me da el mismo error. ¿Alguna idea de lo que estoy haciendo mal?

Respuesta

58

Intente convertirlo antes de sumar. p.ej.

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

o

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

Gracias. Eso funciona y puedo ver dónde me equivoqué. –

Cuestiones relacionadas