SQL语句如何实现把分数取整
发布网友
发布时间:2022-04-20 02:57
我来回答
共7个回答
热心网友
时间:2022-04-09 06:28
round函数
Round 函数
返回按指定位数进行四舍五入的数值。
Round(expression[, numdecimalplaces])
参数
Expression
必选项。数值表达式 被四舍五入。
Numdecimalplaces
可选项。数字表明小数点右边有多少位进行四舍五入。如果小数位数是负数,则round()返回的结果在小数点左端包含指定个零.如果省略,则 Round 函数返回整数。
更详细的解释及举例
利用INT函数构造四舍五入的函数返回的结果精度有限,有时候满足不了我们的实际需要。Excel的Round函数可以解决这个问题。Round函数的作用是返回某个数字按指定位数取整后的数字。语法为ROUND(number,num_digits),其中Number是需要进行四舍五入的数字;Num_digits为指定的位数,按此位数进行四舍五入,如果 num_digits 大于 0,则四舍五入到指定的小数位,如果 num_digits 等于 0,则四舍五入到最接近的整数,如果 num_digits 小于 0,则在小数点左侧进行四舍五入。 举例来说, =ROUND(2.15, 1) 将 2.15 四舍五入到一个小数位,结果为2.2 =ROUND(2.149, 1) 将 2.149 四舍五入到一个小数位结果为2.1 =ROUND(-1.475, 2) 将 -1.475 四舍五入到两小数位结果为-1.48) =ROUND(21.5, -1) 将 21.5 四舍五入到小数点左侧一位结果为20
热心网友
时间:2022-04-09 07:46
LZ如果要做到四舍五入的,用round函数
但是像round(49.5,0)这个取出来的数是50.0
如果要直接输出的就是个整数,后面的.0不显示的话要再convert一下
如果LZ的意思是不管小数点后是什么数值返回的整数值都是原整数部分的值+1的话,用ceiling(49.5)就可以了
两者的区别是如果数值是49.4的时候用round取到的是49.0,而ceiling取到的是50
热心网友
时间:2022-04-09 09:20
ceiling(49.5)=50
ceiling返回大于参数的最小的那个整数
floor(49.5)=49
floor返回小于参数的最大的那个整数
热心网友
时间:2022-04-09 11:12
你把你的数据中的数据类型改成decimal(18,0)这个类型 你输入的是double类型的数据在你查询的时候显示的数据他会自动的给你四舍五入
热心网友
时间:2022-04-09 13:20
sql
语句不支持不知道层次数量的递归查询。所以你的上级机构如果不知道层数的话是没有办法查询的,如果知道层数的话还是可以写的。
你现在的情况,如果数据量不大的话可以考虑把所有数据查出来,放到内存中,然后在程序里处理你的递归查询
热心网友
时间:2022-04-09 15:44
方法很多 我举几个方法
select cast(49.5 as decimal(18,0))
select cast(round(49.5,0) as int)
select ceiling(49.5)
热心网友
时间:2022-04-09 18:26
select cast(round(49.5,0) as int)