微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

聚集函数Avg小数显示问题

 先来看问题

这是选课表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()函数进行转换得到:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐