SQL SSRS |在哪里使用CASE WHEN NULL,ELSE BETWEEN参数

时间:2015-10-28 15:02:33

标签: reporting-services

您好:我正在尝试专门搜索SSRS报告中的日期字段,其中:

  • @StartDate与@EndDate之间的日期
  • 日期IS NULL
  • 日期为空 BETWEEN @StartDate和@EndDate

我正在使用OR语句:

WHERE ((Date BETWEEN @StartDate AND @EndDate) OR (Date IS NULL))

我遇到的问题是:

我可以CASE ELSE开始BETWEEN条款吗?

CASE WHEN @ChkStartDate IS NULL OR @ChkEndDate IS NULL THEN CheckReg.CheckDate IS NULL
    ELSE CheckReg.CheckDate BETWEEN @ChkStartDate and @ChkEndDate
    END)

我可以配置SSRS报告,以便用户可以搜索所有三个日期条件吗?

  1. 日期BETWEEN
  2. DATE IS NULL
  3. DATE BETWEEN或DATE为空
  4. 全部谢谢

1 个答案:

答案 0 :(得分:0)

我通过在报告中添加布尔参数来完成独有的WHERE搜索。

WHERE 
(
(newparameter = '1' AND CheckReg.CheckDate BETWEEN @ChkStartDate and @ChkEndDate)
OR
(newparameter = '0' AND ((CheckReg.CheckDate BETWEEN @ChkStartDate and @ChkEndDate) OR CheckReg.CheckDate IS NULL))
)