Lorsque j'exécute cette commande avec SUM()
SELECT COUNT(*) AS [Records], SUM(t.Amount) AS [Total]
FROM dbo.t1 AS t
WHERE t.Id > 0
AND t.Id < 101;
Je suis en train,
Arithmetic overflow error converting expression to data type int.
Une idée sur quelle en est la cause?
Je suis juste en train de suivre les instructions de cette réponse .
sql-server
aggregate
datatypes
sql-server-2017
Evan Carroll
la source
la source
CONVERT()
. Magnifique.BIGINT
. C'est à peu près ma meilleure estimation.Ce problème est dû à la
SUM()
fonctionvous devez CAST
t.Amount
commeBIGINT
Référence
la source