隐藏参数值的空值

Hide null values on parameter value

我有一个存储参数,在开始日期和结束日期之间有一个包含空值的 where 子句:

WHERE a.date is null OR a.date between @StartDate AND @EndDate

当在我的 SSRS 报告中选择任何参数值(日期范围)时,显然会选择这些空值....我的问题是,有没有办法在特定参数值(日期范围)是否已选择?

P.S。我可以在 SSRS 报告的行可见性中隐藏参数等于值且 a.date 字段为空的行,但我想尽可能避免这种情况。

提前致谢!

您可以扩展过滤条件:

WHERE a.date is null AND (@startDate is NOT NULL OR @EndDate IS NOT NULL) OR
      a.date between @StartDate AND @EndDate

@StartDate@EndDate 上使用任意组合过滤的替代方法:

where a.date is NULL or (
  ( @StartDate is NULL or @StartDate <= a.date ) and
  ( @EndDate is NULL or a.date <= @EndDate ) )

旁白:如果 a.date 不是 Date 但还包含时间,例如是 DateTime,然后 end-date 测试包括整个最后一天直到但不包括午夜是 a.date < DateAdd( day, 1, @EndDate )