El problema que tenemos es reducido a las dos afirmaciones siguientes:¿Inconsistencia de TSQL Round()?
select convert(float, (convert(float,5741.61)/convert(float, 196.00)) * convert(float,14.00)) as unrounded, round(convert(float, (convert(float,5741.61)/convert(float, 196.00)) * convert(float,14.00)), 2) as roundedTo2dp
select convert(float, 410.115) as unrounded, ROUND(convert(float, 410.115), 2) as roundedTo2dp
La primera instrucción utiliza flotadores para calcular un valor de 410.115, y también ese resultado con una ronda() a 2 decimales. El valor redondeado sale en 410.11.
La segunda instrucción usa el valor flotante 410.115 y también lo redondea a 2 decimales. El resultado redondeado sale como 410.12.
¿Por qué hay un redondeo hacia abajo y el otro redondeo cuando el valor redondeado es el mismo?
¿Cómo puedo obtener la primera instrucción para redondear a 410.12?
EDIT: disculpas por el formateo - stackoverflow no muestra ningún formato en esta máquina (muy extraño).