忽略 where 子句中的 DATETIME 参数
Ignore DATETIME parameter in where clause
我在 SSRS 中有一些预设日期参数('last week'、'two weeks ago' 等)。我还想有一个 'All' 参数来忽略
and createdon bewtween @FromDate and @ToDate
在 where 子句中,return 一切都与日期无关。
我试图建立一些动态的 SQL 但整个查询非常大,有许多联合,并且本身变得一团糟。有没有办法在这里建立一个案例陈述来简化我想要实现的目标?
作为 SeanLange 的更具扩展性的建议的替代方案,您可以这样做:
AND createdon BETWEEN ISNULL(@FromDate, createdon) AND ISNULL(@ToDate, createdon)
然后要忽略这些参数中的一个或两个,只需将NULL
传入。createdon
与自身的比较总是成功,因此该子句始终为真。
我在 SSRS 中有一些预设日期参数('last week'、'two weeks ago' 等)。我还想有一个 'All' 参数来忽略
and createdon bewtween @FromDate and @ToDate
在 where 子句中,return 一切都与日期无关。
我试图建立一些动态的 SQL 但整个查询非常大,有许多联合,并且本身变得一团糟。有没有办法在这里建立一个案例陈述来简化我想要实现的目标?
作为 SeanLange 的更具扩展性的建议的替代方案,您可以这样做:
AND createdon BETWEEN ISNULL(@FromDate, createdon) AND ISNULL(@ToDate, createdon)
然后要忽略这些参数中的一个或两个,只需将NULL
传入。createdon
与自身的比较总是成功,因此该子句始终为真。