当我运行query-mssql时,“对象引用未设置为对象的实例”

时间:2016-06-24 07:07:17

标签: sql-server-2008

请访问以下链接。

enter image description here

我想计算每列的值(2015年7月,2015年8月)。公式列出如下。

MMMYYYY =账面价值*每项活动的天数

例如第1行:2015年7月= 18937 * 23(1/7 - 23/7),

第2行:2015年7月= 20503 * 9(23 / 7-31 / 7),2015年8月= 20503 * 20(1 / 8-20 / 8)

*我编写了以下代码以尝试迎合第一行。但是它发现了一条错误消息“对象引用没有设置为对象的实例”?任何人都可以告诉我为什么会出现这条消息

select * into #tempcost1 from tempcost

Declare @i int 

Set @i =1  

Declare @numofrow int 

Set @numofrow = (Select COunt(*) FROM #tempcost1)

Declare @startmonth datetime

Declare @monthdiff int 

Declare @update1 varchar(max)

Declare @month1 varchar(20)

Declare @activitysate datetime 

While (@i<=@numofrow) 

Begin

  Set @monthdiff= (Select diff_month  FROM #tempcost1 where RowNumber= @i)

  Set @activitysate = (Select activity_startdate  FROM #tempcost1 where RowNumber= @i)

  Set @month1= SUBSTRING (convert(varchar, @activitysate, 100),1,3) + 
        SUBSTRING (convert(varchar, @activitysate, 100),8,4 ) 

   if (@monthdiff = 1) 

   Begin 


   Set @update1 = 'Update #tempcost1 set ' + CAST(@month1 as varchar) + ' =(Select bookrate from #tempcost1 where Rownumber=' + cast(@i as varchar) +') ' + 'where RowNumber=' + cast(@i as varchar)

 exec(@update1)

   End 

   Set @i = @i +1 


End

0 个答案:

没有答案