2009-08-03 25 views
18

Estoy tratando de obtener un total de columna, pero cuando ejecuto esta consulta aparece el siguiente error. ¿Algún consejo?Desbordamiento aritmético en la suma de la columna en el servidor sql

SELECT SUM(Size) as total 
FROM AllDocs 
Where DirName LIKE 'sites/test/test%' 


ERROR: 
Msg 8115, Level 16, State 2, Line 1 
Arithmetic overflow error converting expression to data type int. 
Warning: Null value is eliminated by an aggregate or other SET operation. 
+3

Lo que es [Tamaño] 's tipo de datos? –

+1

tipo de datos es int –

+2

Parece que la suma de todos esos tamaños es mayor que MAX int .... –

Respuesta

35

Si bien todos sus tamaños pueden caber en INT (hasta 2^31 - 1), su SUM no puede.

los echaron en BIGINT:

SELECT SUM(CAST(Size AS BIGINT)) as total 
FROM AllDocs 
WHERE DirName LIKE 'sites/test/test%' 
+0

+1. ¡me parece bien! –

Cuestiones relacionadas