Ketika saya menjalankan perintah ini dengan SUM()
SELECT COUNT(*) AS [Records], SUM(t.Amount) AS [Total]
FROM dbo.t1 AS t
WHERE t.Id > 0
AND t.Id < 101;
Saya mendapatkan,
Arithmetic overflow error converting expression to data type int.
Adakah yang tahu apa penyebabnya?
Saya hanya mengikuti instruksi dalam jawaban ini .
sql-server
aggregate
datatypes
sql-server-2017
Evan Carroll
sumber
sumber
CONVERT()
. Cantik.BIGINT
. Itu tentang tebakan terbaik saya.Masalah ini disebabkan oleh
SUM()
fungsiAnda harus CAST
t.Amount
sebagaiBIGINT
Referensi
sumber