oracle乘法运算,乘法运算

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值