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

Supprimer les zéros de fin en valeur décimale avec une longueur changeante

Le moyen le plus simple de loin, ajoutez simplement zéro !

Exemples :

SET 
    @yournumber1="1.500", 
    @yournumber2="23.030",
    @yournumber3="2.000",
    @yournumber4="4.450"
;

SELECT 
    (@yournumber1+0),
    (@yournumber2+0),
    (@yournumber3+0),
    (@yournumber4+0)
;

+------------------+------------------+------------------+------------------+
| (@yournumber1+0) | (@yournumber2+0) | (@yournumber3+0) | (@yournumber4+0) |
+------------------+------------------+------------------+------------------+
|              1.5 |            23.03 |                2 |             4.45 |
+------------------+------------------+------------------+------------------+
1 row in set (0.00 sec)

Si la colonne d'où provient votre valeur est DECIMAL ou NUMERIC tapez, puis convertissez-le d'abord en chaîne pour vous assurer que la conversion a lieu... ex :

SELECT (CAST(`column_name` AS CHAR)+0) FROM `table_name`;

Pour une méthode plus courte, utilisez simplement n'importe quelle fonction de chaîne intégrée pour effectuer le cast :

SELECT TRIM(`column_name`)+0 FROM `table_name`;