SQL Server转换和舍入

bmw*_*128 1 sql sql-server

我有我的选择条款:

AVG (cast(scale as decimal(5,2)))
Run Code Online (Sandbox Code Playgroud)

我一直得到一个数字:0.6523412897,我做的任何事情似乎都没有让我达到我想要的:0.65.基本上我希望得分为2(小数点后两位).谢谢

Rem*_*anu 12

投出平均值,不要平均投射:

cast(AVG(scale) as decimal(5,2))
Run Code Online (Sandbox Code Playgroud)

更新

使用ROUND()更改值而不是类型.例如.select round(0.12345,2)返回0.12000,因为它应该是0.12345到0.12,但保持原点类型在点后5位小数,因此0.12000.要更改类型,必须使用强制转换,如在我的帖子中.