2009-08-03 16 views
18

Sto cercando di ottenere un totale di colonna, ma quando ho eseguito questa domanda io ottenere il seguente errore. Qualche consiglio?overflow aritmetico sulla somma della colonna in SQL Server

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

Che cosa è [Formato] 's tipo di dati? –

+1

tipo di dati è int –

+2

Sembra che la somma di tutte queste dimensioni è più grande di MAX int .... –

risposta

35

Mentre tutte le dimensioni può essere inserito in INT (fino a 2^31 - 1), la loro SUM non può.

li getteranno nella BIGINT:

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

+1. mi sembra buono! –

Problemi correlati