Je voulais supprimer à la fois les zéros de tête et de queue, et je veux avoir le résultat en deux décimales. Par exemple : si le nombre est 0.01, je veux voir .01; si le nombre est 0.010, je veux voir .01; si le nombre est 0.10, je veux voir .10; si le nombre est 1, je veux voir 1.00.
Je vais utiliser une fonction FORMAT
. Par exemple :
SELECT FORMAT (0.090, '#.######')
fonctionne bien car elle affiche .09
Cependant, lorsque j'utilise la même instruction pour une valeur supérieure à 1, elle ne montre pas les décimales.
Par exemple :
SELECT FORMAT (10, '#.######')
donne 10 alors que je m'attends à 10.00
J'ai essayé d'utiliser une instruction CASE
pour résoudre cela en vain. Une instruction CASE fonctionne bien pour une valeur supérieure à 1, mais elle ne supprime pas les zéros de tête.
DECLARE @a float = 10
SELECT
CASE
WHEN @a <1 THEN format (@a, '#.######')
ELSE CAST(FORMAT(@a, '#.######') AS money)
END
donne 10.00 comme je m'y attendais. Cependant, lorsque la valeur de @a est par exemple 0.090, elle donne 0.09 alors que je m'attends à .09
Y a-t-il un moyen de supprimer à la fois les zéros de tête et de queue et d'avoir le résultat en deux décimales? Tout guide est grandement apprécié.