我有一个存储参数,其中包含空值,在开始日期和结束日期之间有一个where子句:
WHERE a.date is null OR a.date between @StartDate AND @EndDate在我的SSRS报告中选择任何参数值(日期范围)时,显然都会选择这些空值.我的问题是,在选择特定的参数值(日期范围)时,是否有一种不显示这些空值的方法?
在SSRS报告中,我可以隐藏参数等于值的行,并且a.date字段在行可见性中为null,但如果可能的话,我希望避免这种情况。
提前感谢!
发布于 2020-09-08 16:54:23
您可以扩展筛选条件:
WHERE a.date is null AND (@startDate is NOT NULL OR @EndDate IS NOT NULL) OR
      a.date between @StartDate AND @EndDate发布于 2020-09-08 19:06:46
一种在@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 < DateAdd( day, 1, @EndDate )。
https://stackoverflow.com/questions/63798337
复制相似问题