如何在sql中显示avg函数的值直到只有两位小数?

rn0zuynd  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(789)
select avg(purch_amt) from orders;

我取了一个平均值,它显示的数值一直到小数点后很多位,我想把它限制在小数点后两位。这是我的tried:- select cast(avg(purch_amt) as decimal(10,2)) from orders; 请回答包含两个操作(先平均,然后转换)。我想知道把这两个语句写在一起的正确语法。

kh212irz

kh212irz1#

我首选的方法是转换为适当的十进制值:

select cast(avg(purch_amt) as decimal(10, 2))
from orders;

这和 round() ,尽管两者通常产生相同的结果。正如文档所解释的 round() :
返回值的类型与第一个参数相同(假设它是整数、双精度或十进制)
这意味着在应用程序中显示的内容可能仍然比小数位数多(或少)。通过更改类型,应用程序将知道结果中应该有多少个小数位。
从这个例子可以看出 round() 不会更改数据类型—因此可能不会更改工具中的表示形式。

tkclm6bt

tkclm6bt2#

你可以用圆形作为

SELECT ROUND(AVG(purch_amt), 2) AS 'Average' from orders

或者如果要在计算平均值之前对所有列值进行四舍五入

SELECT AVG(ROUND(purch_amt, 2)) AS 'Average' from orders
3j86kqsm

3j86kqsm3#

您可以将查询更新为:

select ROUND (avg(purch_amt),2) as Average from orders;

相关问题