我收到此代码发生了无效的浮点运算错误。 它告诉我问题是CTE开始的问题。 如果我没有SQRT功能,那么一切正常,但只要我添加SQRT,我就会收到错误。
我想做的是通过平方数来摆脱负面。
declare @start_date date, @end_date date
set @start_date = '2012/01/01'
set @end_date = '2012/12/31';
with tbl1
as
(
select
strata,
entranceID,
sum(count)/count(*) as AverageCount
from
train
where
surveydate between '2012/01/01' and '2012/12/31'
group by
strata,
entranceID
)
select
a.jobnumber,
a.strata,
a.EntranceID,
Count,
b.AverageCount,
count - AverageCount
, CASE WHEN AverageCount = 0 then 0
ELSE SQRT(count - AverageCount)
END as A
答案 0 :(得分:0)
在表达式中:
SQRT(count - AverageCount)
count的值必须是> = AverageCount。
对于您的测试数据可能不是这样。
考虑使用:
SQRT (ABS(count - AverageCount))
相反,如果在你的情况下这是有道理的。