Me gustaría saber cómo puedo generar un número con 2 decimales, sin redondear el número original.
Por ejemplo:
2229,999 -> 2229,99
Ya probé:
FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))
mysql
formatting
decimal
Tenza
fuente
fuente
DECIMAL(6,2))
? 6- Precisión (número de dígitos totales) y 2 es el número de dígitos después del decimal?Respuestas:
Quieres usar el
TRUNCATE
comando.https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_truncate
fuente
Al formatear un número a 2 decimales, tiene dos opciones
TRUNCATE
yROUND
. Estás buscando laTRUNCATE
función.Ejemplos:
Sin redondeo:
docs: http://www.w3resource.com/mysql/mathematical-functions/mysql-truncate-function.php
Con redondeo:
docs: http://www.w3resource.com/mysql/mathematical-functions/mysql-round-function.php
fuente
truncate
para formatear números cuando desee números truncados. ella dejó bastante claro en la pregunta que esto es lo que quería hacer. Hay muchas formas de redondeo (piso, techo, lejos de cero, hacia cero, mitad arriba, mitad abajo, mitad par). son apropiados en diferentes contextos.ROUND
función.¿Qué tal
CAST(2229.999 AS DECIMAL(6,2))
obtener un decimal con 2 decimalesfuente
convert(2229.999 as decimal(4,2))
.convert(2229.999, decimal(4,2))
.Solo use la muestra format (number, qtyDecimals): format (1000, 2) result 1000.00
fuente
Así es como usé esto es como un ejemplo:
fuente
Mostrar como decimal Seleccione ifnull (formato (100.00, 1, 'en_US'), 0) 100.0
Mostrar como porcentaje Seleccione concat (ifnull (formato (100.00, 0, 'en_US'), 0), '%') 100%
fuente