/* 我在SQL Server Report Builder中工作,我有一个Where语句,其中一个参数等于一个值,检查另一个参数,然后做一些事情,否则做其他事情。 下面是一个例子。
where
case when @Parameter1 = 'Value' then
when @Parameter2 = True then
Date >= @BegDate and
Date <= @EndDate and
totext(Field) = @Parameter1 and
Field2 = 'Value2'
totext(Field) = @Parameter1 and
Field2 = 'Value2'
Case when @Parameter1 = 'Value3' then
Field3 = ToNumber(@Parameter3) and
Field2 = 'Value2';
你在这里不需要
,它返回一个标量值。只需使用普通的布尔逻辑
CASE
WHERE ( @Parameter1 = 'Value' AND @Parameter2 = 'True' AND Date >= @BegDate AND Date <= @EndDate AND totext(Field) = @Parameter1 AND Field2 = 'Value2' ( @Parameter1 = 'Value' AND totext(Field) = @Parameter1 AND Field2 = 'Value2' ( @Parameter1 = 'Value3' AND FIeld3 = ToNumber(@Parameter3) AND Field2 = 'Value2'
显然,你可以通过将一些条件拉到
的外部来简化这个过程OR