J'ai vu un message ici en débordement de pile avec une question et une réponse très similaire à mon problème. c'est ce post: MySQL: transforme la décimale en pourcentage dans la vue
et comme dit dans le post ci-dessus, utilisez:
select s_b,rangeA,rangeB,concat(ee * 100,'%') as 'ee_percent' from htbl; +___________________________________+ |s_b| rangeA| rangeB|ee_percent | +---+--------+---------+------------+ | 1| 0.00| 1500.00| 1.0000% | | 2| 1500.00|999999.99| 2.0000% | +-----------------------------------+
et c'est ce que j'ai réellement fait .. J'ai un tableau avec une colonne pour les pourcentages pour des échelles de salaire spécifiques. c'est un calendrier de retenues salariales. J'ai stocké les valeurs de pourcentage en tant que type de données décimal dans la colonne "ee".
ee | decimal(4,4) | not null
et mon problème est qu'il me donne ce résultat et ce n'est pas ce que je voulais ..
par exemple, une entrée dans la colonne est 0.0200 , et je veux l'afficher lors de l'affichage comme " 2% ", mais c'est ce que j'obtiens.
CONCAT(columnname * 100, '%')
Je sais que c'est un doublon et une question élémentaire, mais je ne sais pas pourquoi cela ne fonctionne pas, si vous voyez une erreur quelque part dans ma syntaxe ou dans le type de données, veuillez me le dire. toutes les suggestions et corrections sont très appréciées. Merci beaucoup.
3 Réponses :
Vous pouvez essayer avec Floor fonction,
select s_b,rangeA,rangeB,concat(FLOOR(ee * 100),'%') as 'ee_percent' from htbl;
Utilisez round , c'est-à-dire:
select s_b,rangeA,rangeB,concat(round(ee * 100),'%') as 'ee_percent' from htbl;
Vous pouvez utiliser la solution suivante en utilisant FORMAT :
SELECT s_b, rangeA, rangeB, CONCAT(FORMAT(ee * 100, 0), '%') AS 'ee_percent' FROM htbl;
Le résultat du calcul est toujours DECIMAL (4,4) . Donc MySQL affiche le résultat avec quatre décimales. Vous pouvez utiliser la fonction FORMAT pour formater le résultat ou d'autres fonctions qui suppriment les décimales.
démo: https: //www.db- fiddle.com/f/ncjBpJRwdQVbT7PUBoXgeU/0
J'ai testé toutes les réponses suggérées, et je pense que j'aime celle-ci, car elle me permet d'ajuster les décimales comme je les aime. merci beaucoup, j'ai appris quelque chose de nouveau aujourd'hui :)