从舍入删除小数的SQL格式

RMN*_*RMN 8 sql decimal sql-server-2008

我在内部查询中有一个计算字段'MySum',其计算后的值为58.

我需要得到这个值的20%.

如果我给:

MySum * 20 /100, I get 11
Run Code Online (Sandbox Code Playgroud)

如果我给:

((20 * CAST(MySum as decimal(6,2)))/100) , I get 11.60000
Run Code Online (Sandbox Code Playgroud)

如果我给

Round(((20 * CAST(MySum as decimal(6,2)))/100), 2), I still get 11.60000
Run Code Online (Sandbox Code Playgroud)

我要那个,

如果结果为11.6,则显示12,如果结果为11.4,则显示11.

我想要重绕价值观.有什么功能吗?

Joe*_*eph 31

在sql server中使用ROUND()(参见例子)函数

select round(11.6,0)
Run Code Online (Sandbox Code Playgroud)

结果:

12.0
Run Code Online (Sandbox Code Playgroud)

EX2:

select round(11.4,0)
Run Code Online (Sandbox Code Playgroud)

结果:

11.0
Run Code Online (Sandbox Code Playgroud)

如果你不想要小数部分,你可以这样做

select cast(round(11.6,0) as int)
Run Code Online (Sandbox Code Playgroud)