Sql server 用幂函数除零

Sql server 用幂函数除零,sql-server,tsql,Sql Server,Tsql,尝试使用幂函数,但出现以下错误: Msg 8134, Level 16, State 1, Line 6 Divide by zero error encountered. 计算是 select POWER(0,-0.79) 消极力量解决分歧: 您需要使用类似于CASE语句的语句来处理表达式中的0值,或者确保源数据/查询逻辑正确。负幂解析为除法: 您需要使用类似于CASE语句的语句来处理表达式中的0值,或者确保源数据/查询逻辑正确。零到任意幂等于零。 分母中会出现负幂。 1/0是一个被零除的

尝试使用幂函数,但出现以下错误:

Msg 8134, Level 16, State 1, Line 6
Divide by zero error encountered.
计算是

select POWER(0,-0.79)

消极力量解决分歧:


您需要使用类似于
CASE
语句的语句来处理表达式中的0值,或者确保源数据/查询逻辑正确。

负幂解析为除法:


您需要使用类似于
CASE
语句的语句来处理表达式中的0值,或者确保源数据/查询逻辑正确。

零到任意幂等于零。
分母中会出现负幂。

1/0是一个被零除的错误

零到任何幂等于零。
分母中会出现负幂。

1/0是一个被零除的错误

问题在于不能将1除以0。您可以使用case表达式,当指数为负且分母为零时,使用
ABS()
将负指数转换为正值


还有一件事是,如果要计算
2^(-2)
,可以编写
选择幂(2*1.0000,-0.79)

问题是不能将1除以0。您可以使用case表达式,当指数为负且分母为零时,使用
ABS()
将负指数转换为正值


还有一件事,如果你想计算
2^(-2)
,你可以写
选择幂(2*1.0000,-0.79)

这个表达式(零提升为负幂)在数学上是未定义的。你希望结果是什么?通过先用
CASE
检查参数,你可以得到任何你想要的结果。那里的计算是1/0^.79=1/0,如果0失败,那么<0(第一个数字为负数)@jeroenmoster也会失败,这是错误的。定义了负幂。此表达式(零提升为负幂)在数学上未定义。你希望结果是什么?通过先用
CASE
检查参数,你可以得到任何你想要的结果。那里的计算是1/0^.79=1/0,如果0失败,那么<0(第一个数字为负数)@jeroenmoster也会失败,这是错误的。定义了负幂。