sales_3Y
0.521
1.282
0.71
1.513
1.502
2357
1.291
1.393
0
0
2.009
我需要计算列的1 / n根。
Select POWER(sales_3YR,(1.0/3))
错误-发生无效的浮点运算。
答案 0 :(得分:2)
这表明分数n的exp(n*log(x))
在内部实现为x<0
,这对于所有create or alter function dbo.CubeRoot(@x float)
returns float
as
begin
if @x = 0 return 0;
return sign(@x) * exp(log(abs(@x))/3.0)
end
都将失败。您可以使用用户定义的函数来解决第n个奇数根的特殊情况:
select dbo.CubeRoot(-8)
和
-2
输出
pattern