a * b * c = power(10, log(10, a) + log(10, b) + log(10, c))

表A:

ID QTY

1 2

2 4

3 6

4 5

select power(10,sum(log(10,qty))) from a;

POWER(10,SUM(LOG(10,QTY)))

--------------------------

240

•LOG

LOG函数返回数值的非自然对数。

其具体的语法格式如下:

LOG(logbase,number)

其中:

logbase除1和0以外的任意数值,是对数的底

number及对数的真数

下面是该函数的使用情况:

LOG(10,100)=2

LOG(EXP(1),10)=2.3025851=LN(10)

因为102等于100,所以,以10为底时100的对数是2。注意:LOG(e,x)=LN(x).可以使用EXP(1)得到e的值。

•POWER

函数POWER返回一个数值的指定次幂。

其具体的语法格式如下:

POWER(number,power)

其中:

number任意数值

power幂次数。函数的结果其实即:number幂次。如果第一个参数为负数,则该幂次数务必是一整数。其它情况可为任意数值

下面是该函数的使用情况:

POWER(10,2)=100(10*10)

POWER(10,3)=1000

POWER(-10,3)=-1000

[@more@]SQL> select 1 from dual where 240=(select 2*6*4*5 from dual);

1

----------

1

SQL> select 1 from dual where 240=(select power(10,sum(log(10,q))) p from qqq);

未选定行

不过Oracle支持38位的精度,一般情况下做个round应该能消除精度误差

SQL> select 1 from dual where 240=(select round(power(10,sum(log(10,q)))) p from

qqq);

1

----------

1

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐