SQL语句如何实现把分数取整

[复制链接]
查看11 | 回复5 | 2010-6-7 10:36:58 | 显示全部楼层 |阅读模式
问题如上,比如49.5 如何让他变成50。

回复

使用道具 举报

千问 | 2010-6-7 10:36:58 | 显示全部楼层
round函数Round 函数返回按指定位数进行四舍五入的数值。Round(expression[, numdecimalplaces])参数Expression必选项。数值表达式 被四舍五入。Numdecimalplaces可选项。数字表明小数点右边有多少位进行四舍五入。如果小数位数是负数,则round()返回的结果在小数点左端包含指定个零.如果省略,则 Round 函数返回整数。更详细的解释及举例利用INT函数构造四舍五入的函数返回的结果精度有限,有时候满足不了我们的实际需要。Excel的Round函数可以解决这个问题。Round函数的作用是返回某个数字按指定位数取
回复

使用道具 举报

千问 | 2010-6-7 10:36:58 | 显示全部楼层
LZ如果要做到四舍五入的,用round函数但是像round(49.5,0)这个取出来的数是50.0如果要直接输出的就是个整数,后面的.0不显示的话要再convert一下如果LZ的意思是不管小数点后是什么数值返回的整数值都是原整数部分的值+1的话,用ceiling(49.5)就可以了两者的区别是如果数值是49.4的时候用round取到的
回复

使用道具 举报

千问 | 2010-6-7 10:36:58 | 显示全部楼层
ceiling(49.5)=50 ceiling返回大于参数的最小的那个整数floor(49.5)=49floor返回小于参数的最大的那个整数
回复

使用道具 举报

千问 | 2010-6-7 10:36:58 | 显示全部楼层
你把你的数据中的数据类型改成decimal(18,0)这个类型 你输入的是double类型的数据在你查询的时候显示的数据他会自动的给你四舍五入
回复

使用道具 举报

千问 | 2010-6-7 10:36:58 | 显示全部楼层
sql语句不支持不知道层次数量的递归查询。所以你的上级机构如果不知道层数的话是没有办法查询的,如果知道层数的话还是可以写的。你现在的情况,如果数据量不大的话可以考虑把所有数据查出来,放到内存中,然后在程序里处理你的递归查询
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行