Cuando trabajamos con cantidades con decimales en MySQL, es posible que queramos formatear nuestro número. Este problema es muy usual si usamos números en coma flotante: FLOAT y DOUBLE. Yo siempre suelo recomendar excepto para aplicaciones de muy alto rendimiento usar el tipo DECIMAL, de forma que guardemos el valor exacto y no aproximado (otro día hablaremos de la representación de números decimales en forma de coma flotante y las ventajas e inconvenientes que tiene).
Imaginemos que guardamos las cantidades de un determinado importe en DOUBLE, al hacer una consulta nos sale una cantidad de números decimales demasiado grande. La idea es redondear el número de forma que sólo aparezcan sólo dos decimales:
SELECT ROUND(importe, 2) FROM compras;
Si queremos formatear el número de forma que aparezca separado por comas los miles y por un punto la parte decimal (estilo americano), usaremos la función FORMAT. También le indicamos cuántos decimales queremos.
SELECT FORMAT(12332.1,4);
La salida sería: ‘12,332.1000’ y será una cadena, no un número.
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Solo un apunte que evitará más de un dolor de cabeza la función de mysql round está bugeada en versiones antiguas u_u
yo lo descubrí por la vía dura.
@Guillermo: Gracias por el apunte, si pudieras decir en qué versión o versiones exactamente fallaba seguro que a más de uno le evitas un problema.