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)