답변:
INT
최대 값 (2,147,483,647) 보다 큰 값의 경우 COUNT_BIG (*) 를 사용하려고합니다 .
SELECT COUNT_BIG(*) AS [Records], SUM(t.Amount) AS [Total]
FROM dbo.t1 AS t
WHERE t.Id > 0
AND t.Id < 101;
에서 발생하는 경우 SUM
으로 변환 Amount
해야합니다 BIGINT
.
SELECT COUNT(*) AS [Records], SUM(CONVERT(BIGINT, t.Amount)) AS [Total]
FROM dbo.t1 AS t
WHERE t.Id > 0
AND t.Id < 101;
BIGINT
. 그래도 내 최고의 추측에 관한 것입니다.
이 문제는 SUM()
기능 으로 인해 발생 합니다
당신은로 캐스팅 t.Amount
해야BIGINT
SELECT COUNT(*) AS [Records], SUM(CAST(t.Amount AS BIGINT)) AS [Total]
FROM dbo.t1 AS t
WHERE t.Id > 0
AND t.Id < 101;
참고
CONVERT()
. 아름다운.