在SQL中将数字提升为小数幂

时间:2011-04-29 22:59:11

标签: sql-server

我正在尝试在MS SQL中将一系列数字提升到小数(1/5),但在应用于负数时,我会收到“域错误”。

这应该不是问题,因为我正在加注到一个奇数动力的根。此外,我可以在Excel中进行计算。

有人可以评论MS SQL是否只是不支持对分数根增加负权力吗?

3 个答案:

答案 0 :(得分:1)

负基数上升为分数幂将导致SQL Server不支持的复数。

您可以将负基数提升为整数幂:

SELECT  POWER(-3, 3)

或分数幂的正基础:

SELECT  POWER(9, 1.5)

答案 1 :(得分:1)

我的猜测是你的最后一句话是正确的,因为MySql和Oracle就属于这种情况。

修改

对于每个人说这导致复数:将数字提高到1/3就像一个立方根,它不返回复数...所以提高到1 / 5,1 / 7 ......也不会。

答案 2 :(得分:0)

当base为负且幂为小数且带有奇数分母时,您可以将(-base)提升到(分数幂),然后取结果的减号。

换句话说, SQL Server根本不支持将负基数提升为分数幂

这是正确的,我应该补充一下。