none
Problemas con decimales de SQL Server 2014 RRS feed

  • Pregunta

  • Buenas tardes,

    Mi tabla de SQL Server almacena numeros con decimales , por ejemplo 0,899999999 . Cuando hago una consulta SQL me devuelve 0,9 sin haber aplicado ningún formato ni redondeo .

    Lo mas raro, es que el valor insertado en su momento en la tabla ha sido 0,9 .

    Gracias de antemano.

    miércoles, 21 de noviembre de 2018 16:02

Respuestas

  • Hola  Jose Ar

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te recomiendo ingresar al siguiente enlace donde se expone un caso similar al que presentas y puedas encontrar una posible solución.

    https://social.msdn.microsoft.com/forums/es-ES/602f6d53-82b7-4d84-abf7-3b250ebedd42/problemas-con-redondeo-en-sum-de-sql-server

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     ____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta Jose Ar viernes, 23 de noviembre de 2018 18:22
    miércoles, 21 de noviembre de 2018 17:35

Todas las respuestas

  • Hola  Jose Ar

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te recomiendo ingresar al siguiente enlace donde se expone un caso similar al que presentas y puedas encontrar una posible solución.

    https://social.msdn.microsoft.com/forums/es-ES/602f6d53-82b7-4d84-abf7-3b250ebedd42/problemas-con-redondeo-en-sum-de-sql-server

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     ____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta Jose Ar viernes, 23 de noviembre de 2018 18:22
    miércoles, 21 de noviembre de 2018 17:35
  • Hola Jose Ar:

    Tienes que precisar mucho más la información. ¿Que tipo de dato tiene tu columna?.

    ¿Como has realizado la inserción, desde un software cliente, o lo has hecho desde SQL Server?

    ¿Como obtienes la consulta, para que te devuelva ese valor que no crees que debiera?

    Te lo pregunto por lo siguiente:

    /*Genero una variable tipo tabla con tipos de datos númericos*/
    DECLARE @table TABLE
    (nFloat      FLOAT,
     nReal       REAL,
     nNumeric    NUMERIC(10, 8),
     nDecimal    DECIMAL(10, 8),
     nMoney      MONEY,
     nSmallMoney SMALLMONEY
    );
    INSERT INTO @table
    (nFloat,
     nReal,
     nNumeric,
     nDecimal,
     nMoney,
     nSmallMoney
    )
    /*inserto 0.9 en todos los tipos declarados*/
    VALUES
    (0.9,
     0.9,
     0.9,
     0.9,
     0.9,
     0.9
    ),
    /*inserto el 0.8999999 en todos los tipos */
    (0.899999999,
     0.899999999,
     0.899999999,
     0.899999999,
     0.90,
     0.90
    );
    /* obtengo los valores devueltos */
    SELECT *
    FROM @table;
    
    Salida:

    miércoles, 21 de noviembre de 2018 21:13