【问题标题】:Hide null values on parameter value隐藏参数值的空值
【发布时间】:2020-09-08 16:51:22
【问题描述】:

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

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

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

附:我可以在 SSRS 报告的 Row Visibility 中隐藏参数等于值且 a.date 字段为 null 的行,但我想尽可能避免这种情况。

提前致谢!

【问题讨论】:

    标签: sql tsql parameters null ssrs-2012


    【解决方案1】:

    您可以扩展过滤条件:

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

    【讨论】:

    • 谢谢戈登!海量帮助
    【解决方案2】:

    @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,那么结束日期测试包括整个最后一天直到午夜,但不包括午夜是a.date &lt; DateAdd( day, 1, @EndDate )

    【讨论】:

      猜你喜欢
      • 2021-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-03
      • 2015-08-24
      • 2014-11-06
      • 2011-08-14
      相关资源
      最近更新 更多