很簡單地,我現在如果有一個報表,命令類型是Text,配置了幾個報表參數,如果是以下這個形式就執行成功:
if(@TimeType=1)
begin
查詢
end
else if (@TimeType = 2)
begin
查詢
end
但是如果我在這前面加上一系列的判斷+賦值,就像這樣
if(@Year is not null and @quarter is not null)
begin
if(@quarter =1)
begin
set @startDate =convert(datetime, @Year+'-1-1')
set @EndDate=convert(datetime, @Year+'-3-31')
end
else if(@quarter =2)
begin
set @startDate =convert(datetime, @Year+'-4-1')
set @EndDate =convert(datetime, @Year+'-6-30')
end
else if(@quarter =3)
begin
set @startDate =convert(datetime, @Year+'-7-1')
set @EndDate =convert(datetime, @Year+'-9-30')
end
else if(@quarter =4)
begin
set @startDate =convert(datetime, @Year+'-10-1')
set @EndDate =convert(datetime, @Year+'-12-31')
end
else if(@quarter =5)
begin
set @startDate =convert(datetime, @Year+'-1-1')
set @EndDate =convert(datetime, @Year+'-6-30')
end
else if(@quarter =6)
begin
set @startDate =convert(datetime, @Year+'-7-1')
set @EndDate =convert(datetime, @Year+'-12-31')
end
else if(@quarter =7)
begin
set @startDate =convert(datetime, @Year+'-1-1')
set @EndDate =convert(datetime, @Year+'-12-31')
end
end
if(@TimeType=1)
begin
查詢
end
else if (@TimeType = 2)
begin
查詢
end
?
在預覽的時候就會提示
“本地報表處理期間出錯。處理報表時出錯。XXX,必須聲明標量變量@Year,必須聲明標量變量@quarterxxxxxxxx”
讓人非常想不明白,正常的T-SQL的話,怎么會前面加上幾個判斷就導致參數不生效呢?
添加回答
舉報
0/150
提交
取消