Reporting services SQL SSRS |其中当为NULL时使用CASE,参数之间使用ELSE

Reporting services SQL SSRS |其中当为NULL时使用CASE,参数之间使用ELSE,reporting-services,Reporting Services,您好:我正在尝试专门搜索SSRS报告中的日期字段,其中: 日期介于@StartDate和@EndDate之间 日期为空 日期在@StartDate和@EndDate之间为空 我的OR声明有效: WHERE ((Date BETWEEN @StartDate AND @EndDate) OR (Date IS NULL)) 我的问题是: 我可以从中间条款开始写其他情况吗 CASE WHEN @ChkStartDate IS NULL OR @ChkEndDate IS NULL THEN C

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

  • 日期介于@StartDate和@EndDate之间
  • 日期为空
  • 日期在@StartDate和@EndDate之间为空
我的OR声明有效:

WHERE ((Date BETWEEN @StartDate AND @EndDate) OR (Date IS NULL))
我的问题是:

我可以从中间条款开始写其他情况吗

CASE WHEN @ChkStartDate IS NULL OR @ChkEndDate IS NULL THEN CheckReg.CheckDate IS NULL
    ELSE CheckReg.CheckDate BETWEEN @ChkStartDate and @ChkEndDate
    END)
我是否可以配置SSRS报告,以便用户可以搜索所有三种日期条件

  • 日期介于
  • 日期为空
  • 日期介于或日期为空

  • 感谢大家

    我通过在报告中添加一个布尔参数完成了独占式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))
    )