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

问题描述 投票:2回答:3

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

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

任何人都可以评论MS SQL是否只是不支持向分数根增加负权力?

sql-server
3个回答
1
投票

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

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

SELECT  POWER(-3, 3)

或分数幂的正基础:

SELECT  POWER(9, 1.5)

1
投票

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

编辑

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


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.