乘法运算

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



[@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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7796281/viewspace-889308/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7796281/viewspace-889308/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值