我有一个varchar2列,我需要从中获取平均数。
因此,请使用下表,其中val是列varchar2(20):
val
5
4.654645
3.4534353
我尝试了以下内容:
select ROUND(AVG(TO_NUMBER(val)),2) as n from table
我得到的结果是1.9110E + 13
我想要的结果是一个四舍五入到小数点后的数字
提前感谢您提供任何帮助
答案 0 :(得分:0)
也许吧。 。
select CAST(AVG(TO_NUMBER(val)) as decimal(20, 2)) as n
from table;
为什么要将数字存储为字符串?这似乎是abad的设计决定。
答案 1 :(得分:0)
所以以下内容对我有用:
select ROUND(AVG(CAST((val) as decimal(20, 2))),2) as n from table
感谢您的建议