none
Eliminar decimales NECESITO!!!

    Question

  •  

    Buenas buenas....

     

    La verdad, estoy escribiendo este post porque lisa y llanamente, me estoy volviendo loca... jejejeje

     

    Bueno mi problemita es este, migré desde un sistema muy parecido al SQL Server unas tablas con casi 7000 registros cada una... La migración se hizo de forma exitosa pero el problema lo tengo con los campos numéricos...

     

    Necesito eliminar los decimales que me aparecen detras de la coma ya que, por ejemplo, uno de los números que tengo es 25,0236547895362236755.

     

    Estoy realizando un sitio web y no puedo mostrar un valor como ese, si no, que debería ser asi: 25.02

     

    Ahora mi pregunta es, ¿COMO ELIMINO LOS RESTANTES DECIMALES = 36547895362236755?

     

    Si alguien pudiera darme una mano.... se los agradecería enormemente....

     

    pd: ya intenté cambiar el tipo de dato cuando realizo la migración pero no funca... transforma los números decimales a 0  o 1 y ya intenté con los tipos de datos float (cambiandole la precisión) int, decimal y no se cuantos más.

     

     

    Wednesday, August 20, 2008 6:55 PM

Answers

  • A ver, antes de ELIMINAR, yo probaría a NO MOSTRAR. Seguramente lo tendrás fácil en tu web el no mostrar los decimales aunque estos se guarden en la BD.

     

    Si lo que quieres es realmente ELIMINAR, no tienes más que utilizar la función ROUND de transact para eliminar todos los posibles decimales que tengas en tus tablas. Si tienes un campo precio en una tabla producto la sentencia sería:

     

    update producto set precio = round(precio, 0)

     

    Espero haberte servido de ayuda.

     

    Saludos.

    Thursday, August 21, 2008 2:36 PM

All replies

  • A ver, antes de ELIMINAR, yo probaría a NO MOSTRAR. Seguramente lo tendrás fácil en tu web el no mostrar los decimales aunque estos se guarden en la BD.

     

    Si lo que quieres es realmente ELIMINAR, no tienes más que utilizar la función ROUND de transact para eliminar todos los posibles decimales que tengas en tus tablas. Si tienes un campo precio en una tabla producto la sentencia sería:

     

    update producto set precio = round(precio, 0)

     

    Espero haberte servido de ayuda.

     

    Saludos.

    Thursday, August 21, 2008 2:36 PM
  • Muchas gracias por la respuesta, pero un apunte, en vez de cargartelos en la BD con un update, puedes hacerlo en la consulta que te devuelven los datos en el select.

    Un saludo
    Thursday, May 07, 2009 7:36 AM
  • Holas,

    Como menciona Samuel la función es ROUND(<campo>, <decimales>), por tanto tendrías que aplicar ROUND(<campo>, 2) si quieres redondear a 2 decimales.

    Ojo que esta función redondea, no trunca. Más info aquí http://msdn.microsoft.com/en-us/library/ms175003.aspx



    Alan Koo | http://alan-koo.blogspot.com
    Tuesday, May 12, 2009 7:19 PM