谁能帮我找出一种更方便、更有效(最短)的方式来编写下面的脚本?我这样做的原因是因为我最终会在 SSRS 上使用脚本。
在 SSRS 上,将有两个参数,并且都设置为空值。
如果运行 SSRS 的用户仅指示了开始日期参数,那么我的报告应该给出任何日期 >= 开始日期。
如果用户将日期放在@startingdate 和@endingdate 上,我的脚本将只搜索@startingdate 和@endingdate 之间的日期。
你们有点明白我想要完成的事情吗?我有一个与这种情况类似的 SSRS 报告,但更新起来非常麻烦,因为如果我更新其中一个语句,我将不得不对其他语句进行更新。由于这个原因,脚本也很大且重复。
如果你能帮我找出一个更好的方法来缩短或减少编码的麻烦,请告诉我,谢谢!
以下是我使用的示例脚本:
DECLARE @STARTINGDATE
DECLARE @ENDINGDATE
SET @STARTINGDATE = '10/01/2013'
SET @ENDINGDATE = '10/05/2013'
CASE
WHEN @STARTINGDATE <> '' AND @ENDINGDATE <> ''
SELECT * FROM SALESTABLE
WHERE SALESDATE BETWEEN @STARTINGDATE AND @ENDINGDATE
END
WHEN @STARTINGDATE = '' AND @ENDINGDATE = ''
SELECT * FROM SALESTABLE
END
WHEN @STARTING <> '' AND @ENDINGDATE = ''
SELECT * FROM SALESABLE
WHERE SALESDATE >= @STARTINGDATE
END
WHEN @ENDINGDATE <> '' AND @STARTINGDATE = ''
SELECT * FROM SALESABLE
WHERE SALESDATE <= @ENDINGDATE
END