2009-08-03 50 views
18

Tôi đang cố gắng để có được một cột tổng số nhưng khi tôi chạy truy vấn này tôi nhận được lỗi sau. Lời khuyên nào?Số học tràn trên tổng cột trong máy chủ 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

gì là [Kích thước] 's kiểu dữ liệu? –

+1

loại dữ liệu là int –

+2

Dường như tổng của tất cả các kích thước đó lớn hơn MAX int .... –

Trả lời

35

Trong khi tất cả các kích cỡ của bạn có thể phù hợp với INT (lên đến 2^31 - 1), họ SUM không thể.

quăng vào BIGINT:

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

+1. co vẻ tôt vơi tôi! –

Các vấn đề liên quan