数据转换错误

时间:2014-09-24 22:18:34

标签: sql sql-server

我已经在这里阅读了有关此主题的所有内容,但仍然无法解决我的错误问题。

我的代码列在下面

-- ALLOCATE FRT Revenue BASED ON TOTAL REVENUE
   CASE
     WHEN (SUM(SOP2.XTNDPRCE) OVER(PARTITION BY SOP1.SOPNUMBE))!=0 THEN
           (SOP2.XTNDPRCE/(SUM(SOP2.XTNDPRCE) OVER(PARTITION BY SOP1.SOPNUMBE))) * SOP1.FRTAMNT
           else 0
    END as [FrtPrice],

   -- ALLOCATE FRT COSTS BASED ON TOTAL REVENUE
   CASE
     WHEN (SUM(SOP2.XTNDPRCE) OVER(PARTITION BY SOP1.SOPNUMBE))!=0 THEN
           (SOP2.XTNDPRCE/(SUM(SOP2.XTNDPRCE) OVER(PARTITION BY SOP1.SOPNUMBE))) *     
           --Calculate default Frt cost based on Current Invoice Number
                (SELECT 
                    CASE Isnumeric(rtriM(ltrim(f.USRDEF04)))
                        WHEN 1 THEN
                            Cast(F.USRDEF04 as float) 
                        ELSE NULL
                    END AS ActFrtCost 
                    FROM SOP10106 f 
                    WHERE f.SOPTYPE= SOP1.SOPTYPE AND f.SOPNUMBE = SOP1.SOPNUMBE)              
           else 0
    END as [FrtPrice],

SOP1是我的发票标题,SOP2是我的发票明细,SOP10106在自定义字段中将我的运费作为varchar。 SOP10106中的某些行包含文本,但具有数值的行是我的运费。 基本上,我正在尝试为每张发票分配所有订单项的运费。

我尝试的所有内容仍会导致相当恼人的“错误转换”消息。

  

Msg 8114,Level 16,State 5,Line 3将数据类型varchar转换为float时出错。

0 个答案:

没有答案