加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

聚集函数Avg()小数显示问题

发布时间:2020-12-12 14:12:50 所属栏目:MsSql教程 来源:网络整理
导读:?先来看问题 这是选课表sc中的所有条目, 注意看课程号cno为2的有两条分别为: 95001 ?2 ?88 95002 ?2 ?93 上图中的查询是为了获得,选修了课程号cno为2的课程的所有同学的平均成绩。 由第一张图知此平均为90.5,这里却没显示小数部分。。。。 ? ? ? 我百度

?先来看问题

这是选课表sc中的所有条目,
注意看课程号cno为2的有两条分别为:
95001 ?2 ?88
95002 ?2 ?93

上图中的查询是为了获得,选修了课程号cno为2的课程的所有同学的平均成绩。
由第一张图知此平均为90.5,这里却没显示小数部分。。。。

?

? ? 我百度了一下,百度知道里居然还有错误的结果,更不可思议的是被选为了满意回答,更更吊的是有好几个评论说是正解。。。。

知道里的回答是 round(AVG(score),2)
ROUND(Numeric_expr,length) ? ? ? ?此函数将给定的数值四舍五入到指定的长度。
AVG(score)得到的数据已经是整数了,四舍五入怎么会出现小数?

?

? ? 我又搜了一会,最终查到了一个利用几个函数组合的解决方法。

解释: cast(expression AS data_type[(length)]) 此函数将一种数据类型的表达式转换为另一种数据类型的表达式。
numeric(5,2)数字长度为5,小数部分2位。

若不对结果利用cast()函数进行转换得到:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读