You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AVG函数定义Oracle视图时数据类型变更问题咨询

Oracle视图中AVG函数返回类型问题解答

这不是Oracle的Bug,属于正常的设计行为。

Oracle的AVG()聚合函数,无论输入参数是FLOAT还是其他数值类型,默认返回的都是NUMBER类型,这是函数的固有规则。另外需要注意,Oracle里的FLOAT本质是NUMBER的变体(FLOAT(n)等价于NUMBER(*, n)),聚合计算后会统一返回标准NUMBER类型。

如果要强制让视图列保留FLOAT类型,只需用CAST()函数显式转换AVG()的结果:

create or replace view my_view (oo) as select cast(avg(oo) as float) from my_tab;

执行desc my_view;后,就能看到OO列的数据类型变为FLOAT了。

内容的提问来源于stack exchange,提问作者mikcutu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 16:08:09