Casting et arrondi SQL Server

J'ai dans ma clause select:

AVG (cast(scale as decimal(5,2))) 

Je continue à get un nombre comme: 0,6523412897, rien que je fais ne me semble à mon désir: 0,65. Fondamentalement, je veux avoir une échelle de 2 (deux décimales). Merci

Essayer

 ROUND(AVG(scale), 2) 

Cast la moyenne, ne pas la moyenne de la dissortingbution:

 cast(AVG(scale) as decimal(5,2)) 

Mettre à jour

L'utilisation de ROUND () modifie la valeur et non le type. Par exemple. select round(0.12345,2) renvoie 0.12000 car il devrait arrondir 0.12345 à 0.12 mais conserve le type original avec 5 décimales après le point, donc 0.12000. Pour changer le type, il faut utiliser cast, comme dans mon post.

Cela dépend de la database que vous utilisez, mais ROUND est la réponse pour SQL Server:

ROND