English 中文(简体)
为什么Pogres的借项/博客与KQ服务器不同?
原标题:Why the result of exp/log of Postgres differs from SQL Server?
  • 时间:2009-09-29 06:23:31
  •  标签:
最佳回答

您必须使用自然标志(ln功能),而不是基数10(log功能):

select exp(sum(ln(val)))
from (values(4),(5),(3),(6)) as tbl(val)

 exp 
-----
 360
(1 row)

但是,这并不是乘数的好办法,因为四舍五入,速度缓慢,错误容易发生。 您应宣布:

create function multiply(int,int) returns int as $$
  select $1*$2;
$$ language sql immutable strict;

create aggregate multiply(int) (
  sfunc=multiply,
  stype=int,
  initcond=1
);

select multiply(val)
from (values(4),(5),(3),(6)) as tbl(val)
 multiply 
----------
      360
(1 row)
问题回答

暂无回答




相关问题
热门标签