select POWER(exp(sum(ln(t.a))),1/count(*)) from
广丰ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
(select 5 a from dual
union
select 8 a from dual
union
select 2 a from dual
union
select 3 a from dual) t
自己写一个函数很简单.
create or replace
function mul
return varchar2
is
l_mul number;
begin
for x in ( select value from mytab ) loop
l_mul := l_mul * x.value;
end loop;
return l_mul;
end;
/
select mul() from mytab;
如果希望得到分组的累计乘积, 稍加改进即可.
表名和字段名你可以替换成自己的
oracle里没有提供象你说的那种,只能自己写
基本差不多,oracle里你用客户端工具打开能写脚本的地方,写一个类似函数就可以了
以下是运算方式
工具:oracle
10g,plsql
1、打开plsql,登录
2、创建一个查询,输入要计算的乘法公式,如计算5×7
3、对于小数也是同样计算方法,但是可采用四舍五入的方式保留小数,如0.23×0.5按四舍五入保留2位小数。
如果只是A字段和B字段相乘的话,直接set C=A*B就行了,如果是不确定,可以推导公式,利用指数和对数直接的转化,不过这是针对列的,
Select power(10, Sum(Log(10, A))) From t,
Sum(Log(10, A))) 得到的是log(a1)+log(a2)+....+log(an)=log(a1*a2*...*an),power函数就是对log(a1*a2*...*an)求对数,也就是10^log(a1*a2*...*an)=a1*a2*...*an,不知道楼主数学如何,这个数学公式应该能看懂的吧?还是高中的,怀念啊!