Format SQL comme d'arrondir la suppression des décimales
J'ai un champ calculé 'MySum' dans la requête interne dont la valeur après le calcul est de 58.
J'ai besoin d'obtenir 20% de cette valeur.
Si je donne:
MySum * 20 /100, I get 11
Si je donne:
((20 * CAST(MySum as decimal(6,2)))/100) , I get 11.60000
Si je donne
Round(((20 * CAST(MySum as decimal(6,2)))/100), 2), I still get 11.60000
Je veux que,
Si le résultat est de 11,6, il doit afficher 12 et si le résultat est de 11,4, il doit afficher 11.
Je veux Arrondi des valeurs. Toute fonction qui ?
Vous devez vous connecter pour publier un commentaire.
utilisation ROUND () (Voir les exemples ) fonction dans sql server
résultat:
ex2:
résultat:
si vous ne voulez pas de la partie décimale, vous pourriez faire
FYI
C'est parce que lorsque tous les 3 opérandes sont des Entiers, SQL Server fera effectuer entier des mathématiques, de gauche à droite, la troncation de tous les résultats intermédiaires.
Également pour l'enregistrement RONDE(m,n) renvoie le résultat à n décimales, pas n chiffres significatifs.
CAST( as INT)
n'.vérifier la ronde fonction et comment l'
length
argument fonctionne. Il contrôle le comportement de la précision du résultat: 11
: 11