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)
因为10
2
等于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
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
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7796281/viewspace-889308/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7796281/viewspace-889308/