聚集函数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()函数进行转换得到:

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...