SQL格式自四舍五入开始删除小数

标签 sql sql-server-2008 decimal

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

我需要获得此值的20%。

如果我给:

MySum * 20 /100, I get 11

如果我给:
((20 * CAST(MySum as decimal(6,2)))/100) , I get 11.60000

如果我给
Round(((20 * CAST(MySum as decimal(6,2)))/100), 2), I still get 11.60000

我要那个,

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

我想四舍五入值。有什么功能吗?

最佳答案

在SQL Server中使用ROUND()(See examples )函数

select round(11.6,0)

结果:
12.0

例2:
select round(11.4,0)

结果:
11.0

如果你不想小数部分,你可以做
select cast(round(11.6,0) as int)

关于SQL格式自四舍五入开始删除小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12706689/

相关文章:

php - 从哪里开始开发第一个数据库驱动的 Web 应用程序(长问题)?

Mysql递归查询-在错误的列中给出一些结果

带连接的 SQL Server 更新语句

sql-server - 如何识别表中的哪条记录已引发错误

c++ - 将二进制补码输出转换为带符号的十进制

java - 将字符串数字格式化为小数点后两个数字的 double 变量

sql - 按重复属性分组

没有递归的sql递归

sql - 带有 many-ISNULL 的多列 UPDATE-JOIN 需要很长时间?

java - JAXB 中 double 的几位小数