Obtener un resultado con decimales en SQL Server

publicado por: Anonymous

Estoy dividiendo dos número en excel de la siguiente manera:

352 / 440 y el resultado es: 0.80

Necesito hacer lo mismo en SQL Server, esta es mi consulta:

SELECT CONVERT(FLOAT,352 / 440)

Pero el resultado es 0.

solución

El resultado es 0 porque estás haciendo la conversión después de hacer la división. Al usar una división con dos número enteros, SQL hace una “división entera”, donde 352/440 es en efecto 0 (la parte entera de 0.8).

Para evitar esto hay varias formas, pero en general hay que convertir (explícitamente o implícitamente) ya sea el numerador o denominador a decimal o float.

Por ejemplo con conversión explícita:

SELECT CONVERT(FLOAT,352)/440;

O implícita:

SELECT 352*1.0/440;
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *