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
Libérer: 2024-11-27 15:33:10
original
250 Les gens l'ont consulté

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)
Copier après la connexion

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

SELECT CONCAT('$', FORMAT(val, 2)) AS formatted_currency ... ;
Copier après la connexion

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;
Copier après la connexion

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 ... ;
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal