Je ne suis pas sûr de votre type de données. Mais voyez les exemples suivants de valeurs renvoyées. Dans MSSQL 2012, votre situation semble correspondre au type de données REAL. Tandis que MONEY, FLOAT, DECIMAL, DOUBLE PRECISION retour 72200.00 RÉEL renvoie 72199.9998321533. Voir ci-dessous :
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
Vous voudrez peut-être changer le type de données de la colonne (s'il ne s'agit pas d'un type souhaité, il a peut-être été défini par erreur dans le menu déroulant de SQL Studio, etc.) ou CAST la valeur comme l'un des types de données ci-dessus qui renverra 72200.00