究竟是小弟我的程序代码异常还是数据表运算时发生数据溢出

究竟是我的程序代码错误还是数据表运算时发生数据溢出?
最近设计了一段简单的代码,稍微复杂的是里面有一个幂函数,每当程序运行到第三行时就提示“消息 3623,级别 16,状态 1,第 3 行出现无效的浮点操作。”

DECLARE @iscontr2 float
SELECT  @iscontr2=POWER(( a.ori_value - b.min_2014 ) / ( b.max_2014- b.min_2014 ),
                              1.4) * 40 + 60
FROM    court_stat a
        INNER JOIN range_rule b ON a.index_id = b.index_id
    UPDATE  a
    SET     a.eva_score = CASE WHEN b.variation_char = 1
                                    AND a.eva_score > b.min_2014 THEN 60
                               WHEN b.variation_char = 2
                                    AND a.eva_score < b.min_2014 THEN 60
                               ELSE ( CASE WHEN @iscontr2 < 60 THEN 60
                                           WHEN @iscontr2 > 100 THEN 100
                                           ELSE @iscontr2
                                      END )
                          END
    FROM    court_stat a
            INNER JOIN range_rule b ON a.index_id = b.index_id
GO
UPDATE  dbo.court_stat
SET     ded_score = CASE WHEN eva_score < 80 THEN ( 80 - eva_score ) * 0.01
                         ELSE 0
                    END
FROM    court_stat a
        INNER JOIN range_rule b ON a.index_id = b.index_id
WHERE   b.exam_sort = '其他指标'
go

我强烈怀疑是程序代码语法存在问题,但是折腾一天了,还是没有发现错误原因。
请大家帮忙分析分析。
------解决方案--------------------
你直接运行这段SQL试试呢。。
------解决方案--------------------
power范围的是float类型,你挑个最大和最小的值直接替换你的列名再执行试试,过大过小的值可能会出问题
------解决方案--------------------
不是大小的问题。1.4次方,溢出的可能性比较小。我觉得前面(a-b2)/(b1-b2)的部分可能出现负数了。