我在Microsoft Azure上编写SQLServer查询,我需要将小小数(0 我已经写了这样的查询: 我收到以下错误: 我不确定它是指基础(6-WebRating)还是指数(4.5),但无论如何,我不确定如何在SQLServer中完成此操作。在Excel中工作,fwiw:)case when a.avgRating = null then (6-r.WebRating)^4.5 else a.avgRating end AS avgRating
Operand data type decimal is invalid for '^' operator.
答案 0 :(得分:5)
您需要使用POWER
代替。而且,您不应该使用somecolumn = NULL
但somecolumn IS NULL
:
CASE
WHEN a.avgRating IS NULL THEN POWER(6-r.WebRating,4.5)
ELSE a.avgRating
END AS avgRating
答案 1 :(得分:0)
一般情况下,如果您拥有exp
和log
函数,则a^b
:
a^b = exp(b * log(a))