Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment formater des nombres en tant que devise dans MySQL

Certains SGBD nous permettent de formater un nombre en tant que devise en fournissant un spécificateur de format pour le symbole monétaire. Fournir un tel spécificateur de format permet au SGBD de renvoyer le symbole monétaire approprié pour les paramètres régionaux.

MySQL n'a pas de spécificateur de format monétaire, et nous devons donc faire un peu de travail supplémentaire si nous voulons que le symbole monétaire soit renvoyé.

Exemple

Voici un exemple de renvoi d'un nombre comme devise dans MySQL :

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

Résultat :

$1,234.57

Ici, nous avons utilisé le CONCAT() fonction pour concaténer le symbole monétaire et le nombre. Nous avons également utilisé le FORMAT() fonction pour formater le nombre au format souhaité.

Spécifiez un paramètre régional

Le FORMAT() La fonction accepte un troisième argument facultatif pour les paramètres régionaux. Cela vous permet de formater le nombre en utilisant les paramètres régionaux spécifiés.

Exemple :

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

Résultat :

€1.234,57

Dans ce cas, notre symbole monétaire est le symbole Euro ( ) au lieu du signe dollar, et nous avons spécifié que le nombre devait être formaté en utilisant les conventions de numérotation allemandes, qui utilisent un point comme séparateur de groupe et une virgule comme point décimal.

Formatage dans l'application vs base de données

Il est généralement recommandé que le formatage des devises, etc. soit effectué au niveau de l'application plutôt qu'au niveau de la base de données. Les environnements de programmation d'applications ont généralement de meilleures capacités de formatage que les SGBD, et il est généralement préférable d'avoir des données non formatées renvoyées par la base de données, afin que l'application puisse démarrer avec une table rase et la formater selon les besoins.

Cela dit, la situation nécessite parfois un formatage au niveau de la base de données, auquel cas les techniques ci-dessus peuvent s'avérer utiles.