Dans l'instruction SELECT
, j'essaie de calculer un pourcentage avec une précision de 1 décimale.Erreur de dépassement arithmétique dans SQL Server lorsque le résultat est converti en nombre décimal
Cette déclaration dans l'instruction select renvoie une erreur de dépassement arithmétique:
CAST(((COUNT(TicketNbr)*100.00)/@TotalCount) AS Decimal (3,1)) END AS Percentage
La valeur de comptage COUNT(TicketNbr)
est 10.
La valeur @TotalCount est 10.
Si je ne rejetez pas le résultat, le résultat est 1.0000. Mais lorsque j'utilise la fonction CAST
, la requête génère une erreur de dépassement arithmétique.
Pourquoi cette erreur se produit-elle?
Parce que DECIMAL (3,1) 'signifie: 3 chiffres ** Total **, dont 1 après la virgule, de sorte que ne laisse que ** 2 chiffres ** avant la virgule qui n'est * pas assez * pour contenir une valeur de "100.0" –
Merci! Ça a marché! –