0
我正在使用此存儲過程,但它導致錯誤。執行時出錯並在存儲過程中打印SQL查詢
查詢是
declare @min int
declare @mnt int
declare @query varchar(MAx)
declare @finmnth int
declare @divid int
declare @finyear nvarchar(max)
set @divid = 0
set @finmnth = 6
set @finyear = '2014-15'
begin
if @finmnth = 3 or @finmnth = 2 or @finmnth = 1
set @min = 13
else
set @min = @finmnth
Set @query = 'select
/* Cummulative Progress */
isNull(CONVERT(DECIMAL(10, 3), SUM(case when month between 4 and '+cast(@finmnth AS varchar)+' and mpryear='+cast(@finyear as nvarchar)+' then (IDA+Govt+Benyfe)/100000 else 0 end),2),0) as CUTMTot
from
MPR
where
(division = '+cast(@Divid as varchar)+' OR '+cast(@Divid as varchar)+' = 0)'
end
exec(@query)
錯誤是
消息245,級別16,狀態1,第1行
轉換nvarchar的值 '2013-14' 爲數據類型int時 轉換失敗。
感謝Giorgi其工作正常。非常感謝 – 2015-03-20 07:23:06