pérdida de escala al realizar el cálculo

Estoy realizando un cálculo y no obtengo la respuesta que espero. Pierdo algo de escala haciendo el cálculo.

Calc es: 651/1000 * -413.72063274 = -269.33213191 (a 8 d.p)

En SQL Server hago esto:

declare @var numeric(28,8)
declare @a numeric(28,8)
declare @b numeric(28,8)

set @var = -413.72063274
set @a   = 651.00000000
set @b   = 1000.00000000

select CAST((@a/@b) * @var as numeric(28,8)) as result_1
     , CAST(CAST(@a as numeric(28,8)) 
      /CAST(@b as numeric(28,8)) as numeric(28,8)) 
      *CAST(@var as numeric (28,8))   as result_2

Los resultados son

resultado_1: -269.33213200 (correcto a 6dp)
result_2: -269.332132 (correcto a 6dp)

¿Cómo obtengo la consulta para devolver: -269.33213191 (correcto a 8dp)?

Respuestas a la pregunta(3)

Su respuesta a la pregunta