Maison >base de données >tutoriel mysql >Comment puis-je formater des entiers comme devise dans MySQL ?

Comment puis-je formater des entiers comme devise dans MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 15:33:10237parcourir

How can I format integers as currency in MySQL?

Formatage de devises dans MySQL : sélection d'entiers comme devise

MySQL propose plusieurs options pour convertir des valeurs entières au format monétaire lors de la récupération des données. Voici les approches les plus courantes :

1. CONCAT() avec FORMAT()

La fonction FORMAT() vous permet d'appliquer des modèles de formatage aux nombres. Pour le formatage de la devise, vous pouvez utiliser le modèle suivant :

FORMAT(number, decimal_places)

Pour convertir un entier au format monétaire, vous pouvez utiliser la requête suivante :

SELECT CONCAT('$', FORMAT(val, 2)) AS formatted_currency ... ;

Cela renverra la valeur entière formaté comme une valeur monétaire avec deux décimales.

2. Remplacement de chaîne

Une autre option consiste à utiliser le remplacement de chaîne pour insérer des virgules dans une chaîne numérique. Cette approche implique de créer une fonction personnalisée ou d'utiliser une fonction intégrée telle que SUBSTRING_INDEX() :

CREATE FUNCTION format_currency(number INT)
RETURNS VARCHAR(255)
BEGIN
  DECLARE formatted_number VARCHAR(255);
  SET formatted_number = REPEAT('0', FLOOR(LOG10(number)) + 1);
  WHILE number > 0 DO
    SET formatted_number = SUBSTRING_INDEX(formatted_number, '0', -3);
    SET formatted_number = CONCAT(formatted_number, ',');
    SET formatted_number = CONCAT(formatted_number, SUBSTRING(CAST(number AS CHAR), -2));
    SET number = number / 100;
  END WHILE;
  SET formatted_number = SUBSTRING(formatted_number, 1, LENGTH(formatted_number) - 1);
  SET formatted_number = CONCAT('$', formatted_number);
  RETURN formatted_number;
END;

Vous pouvez ensuite utiliser la fonction format_currency() pour formater vos valeurs entières en tant que devise :

SELECT format_currency(val) AS formatted_currency ... ;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn