sql >> Base de Datos >  >> RDS >> Mysql

Cómo dar formato a números como moneda en MySQL

Algunos DBMS nos brindan la capacidad de formatear un número como moneda al proporcionar un especificador de formato para el símbolo de moneda. Proporcionar un especificador de formato de este tipo permite que el DBMS devuelva el símbolo de moneda adecuado para la configuración regional.

MySQL no tiene un especificador de formato de moneda, por lo que debemos hacer un poco de trabajo adicional si queremos que se devuelva el símbolo de moneda.

Ejemplo

Aquí hay un ejemplo de devolver un número como moneda en MySQL:

SELECT CONCAT('$', FORMAT(1234.5678, 2));

Resultado:

$1,234.57

Aquí, usamos el CONCAT() función para concatenar el símbolo de moneda y el número. También usamos el FORMAT() función para formatear el número en el formato deseado.

Especifique una configuración regional

El FORMAT() La función acepta un tercer argumento opcional para la configuración regional. Esto le permite formatear el número utilizando la configuración regional especificada.

Ejemplo:

SELECT CONCAT('€', FORMAT(1234.5678, 2, 'de_DE'));

Resultado:

€1.234,57

En este caso, nuestro símbolo de moneda es el símbolo del Euro ( ) en lugar del signo de dólar, y especificamos que el número debe formatearse usando las convenciones de numeración alemanas, que usan un punto para el separador de grupo y una coma para el punto decimal.

Formateo en la aplicación frente a la base de datos

Por lo general, se recomienda que el formato de moneda, etc., se realice a nivel de la aplicación, en lugar de a nivel de la base de datos. Los entornos de programación de aplicaciones suelen tener mejores capacidades de formato que los DBMS y, por lo general, es mejor que la base de datos devuelva los datos sin formato, de modo que la aplicación pueda comenzar desde cero y formatearla según sea necesario.

Dicho esto, a veces la situación requiere formatear a nivel de la base de datos, en cuyo caso, las técnicas anteriores pueden resultar útiles.