Saya tidak yakin tentang tipe data Anda. Tapi lihat contoh berikut dari nilai yang dikembalikan. Di MSSQL 2012 situasi Anda tampaknya sesuai dengan tipe data REAL. Sementara UANG, FLOAT, DECIMAL, PRESISI GANDA kembalikan 72200.00 NYATA mengembalikan 7219.9998321533. Lihat di bawah:
CREATE TABLE #tempso (Amount money, GRPS int);
INSERT INTO #tempso(Amount, GRPS) VALUES
('65025.00',355),
('-2500.00',355),
('7014.40',355),
('725.62',355),
('241.67',355),
('1209.57',355),
('241.87',355),
('241.87',355)
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
ALTER TABLE #tempso ALTER COLUMN Amount float
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
ALTER TABLE #tempso ALTER COLUMN Amount decimal(10,2)
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
ALTER TABLE #tempso ALTER COLUMN Amount DOUBLE PRECISION
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
---------------
RETURNS:|355 72200.00 |
---------------
ALTER TABLE #tempso ALTER COLUMN Amount REAL
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
----------------------
RETURNS:|355 72199.9998321533 |
----------------------
DROP TABLE #tempso
Anda mungkin ingin mengubah tipe data kolom (jika itu bukan tipe yang diinginkan, mungkin itu disetel secara tidak sengaja dari menu tarik-turun SQL Studio, dll.) atau CAST nilai sebagai salah satu tipe data di atas yang akan mengembalikan 72200.00