¿Por qué la precisión disminuye cuando se suma la suma a otro número?

Me he encontrado con el siguiente error (o característica) en SQL Server.

Cuando yo usoSUM (*column*) dóndecolumn tiene unnumeric(18, 8) escriba y multiplíquelo por cualquier otro número (entero o decimal) que la precisión del resultado esté reduciendo anumeric(18, 6).

Aquí está el script de ejemplo para demostrar.

CREATE TABLE #temp (Qnty numeric(18,8))

INSERT INTO #temp (Qnty) VALUES (0.00000001)
INSERT INTO #temp (Qnty) VALUES (0.00000002)
INSERT INTO #temp (Qnty) VALUES (0.00000003)

SELECT Qnty, 1*Qnty
FROM #temp

SELECT (-1)*SUM(Qnty), SUM(Qnty), -SUM(Qnty), SUM(Qnty) * CAST(2.234 as numeric(18,8))
FROM #temp

DROP TABLE #temp

El resultado de la segunda consulta SELECT

0.000000    0.00000006  -0.00000006 0.000000

Como puedes ver entonces multiplico SUMA el resultado es 0.000000

¿Alguien podría explicar el extraño comportamiento?

UPD. Ejecuté esta consulta en SQL Management Studio en 2000, 2005 y 2008 SQL Server.

Respuestas a la pregunta(3)

Su respuesta a la pregunta